2013-03-05 59 views
-1

在我的标题中,我在图像的两侧都有一个图像精灵。我试图将它们水平放置在浏览器的顶部。标题必须定位:固定。如何在绝对定位的两个UL之间放置图像?

HTML:

<div id="headerbg">    
      <div id="header"> 
       <ul id="navleft"> 
        <li id="navhome"><a href="#top"></a></li> 
        <li id="navnew"><a href="#new"></a></li> 
        <li id="navbrands"><a href="#brands"></a></li> 
       </ul>    
       <div id="logo"></div> 
       <ul id="navright"> 
        <li id="navsales"><a href="#sales"></a></li> 
        <li id="navlocation"><a href="#location"></a></li> 
        <li id="navcontact"><a href="#contact"></a></li> 
       </ul> 
      </div>   
     </div> 

CSS:

#headerbg 
{ 
background-color: #ffffff; 
width:100%; 
height:50px;  
z-index: 1000; 
position: fixed; 
top: 0; 
left:0; 
} 

#header 
{ 
width: 800px; 
height: 100px; 
margin: auto; 
} 

#logo 
{ 
width:200px; 
height:100px; 
background:url(images/logo_small.jpg); 
display:inline-block; 
z-index: 2000;  
} 

/* NAVIGATION */ 

#navleft 
{ 
position:relative; 

} 

#navleft li 
{ 
margin:0; 
padding:0; 
list-style:none; 
position:absolute; 
top:0; 
z-index: 2000; 
} 

#navleft li, #navleft a 
{ 
height:50px; 
display:block; 
} 

#navright 
{ 
position:relative; 

} 

#navright li 
{ 
margin:0; 
padding:0; 
list-style:none; 
position:absolute; 
top:0; 
z-index: 2000; 
} 

#navright li, #navright a 
{ 
height:50px; 
display:block; 
} 

我离开了CSS的精灵的悬停图像,以缩短我的职务。我感谢任何帮助,我可以得到。谢谢!

+0

我发现它仍然不清楚你试图做什么。解决方案可能非常简单。您是否有链接到您尝试此代码的页面? ...“图像两侧的图像精灵” – kingdomcreation 2013-03-05 18:33:31

回答

0

您已经知道标题和徽标的宽度。然后,您knnow每个ul应该有一个width: 300px;,只是它们都设置为float:left;display:inline;

#header ul { 
    width:300px; 
} 

#header { 
    display:inline-block; 
    *display:inline; /* IE hack */ 
} 

编辑

你也可以将特定CSS样式伪元素如:

#header ul:first-child { 
    width:300px; 
    position:relative; 
    top:0; 
    left:0; 
} 

#header ul:last-child { 
    width:300px; 
    position:relative; 
    right:0; 
    left:0; 
} 

我已重新键入您的代码以适应您的需求(以及我认为您的需求)

在这里看到拨弄http://jsfiddle.net/aLQYS/

而且对于未来,我会建议您使用类而不是Id的。您不仅可以将ID标记保存为更重要的内容,例如JavaScript,还可以通过向一个对象添加多个类来重用您的CSS样式,例如

CSS

.shadow { 
    box-shadow: 1px 1px 5px rgba(0,0,0,0.5); 
} 

.box { 
    width:200px; 
    height:200px; 
} 

HTML

<div class="shadow box"></div> 
+0

感谢您的快速响应。除了#navright出于某种原因在标题div之外显示之外,一切看起来都不错。 HTML对我来说很不错。根据'#navright',我从jsfiddle – user2136951 2013-03-05 19:24:46

+0

直接复制粘贴,代码中可能还有其他一些CSS与我已经写过的内容冲突。使用css进行操作的好工具是Google Chrome开发人员工具。如果您在谷歌浏览器中预览页面,您可以右键单击某个元素并选择“控制元素”,然后您就可以实时操作CSS。这不会影响原始脚本,因此您必须将CSS复制到脚本中。 – Dimser 2013-03-05 19:31:20

+0

谢谢。我现在正在寻找冲突,并会尝试GCDT。 – user2136951 2013-03-05 19:34:17