我已经在我的网站上创建了一个水平导航栏,但它在IE6中无法正确显示。
这是一个非常简单的导航栏,我不知道100%在IE6中有什么用,有什么用。
任何人都可以看到我的CSS有什么问题吗?
由于
HTML:
<div id="controlslider">
<ul>
<li><a href="#slider2">Work, Life: Balanced.</a></li>
<li><a href="#slider3">Mobilise your workforce.</a></li>
<li><a href="#slider4">Built for business.</a></li>
<li><a href="#slider5">Work whenever, wherever.</a></li>
<li><a href="#slider6">Where to buy.</a></li>
</ul>
</div>
CSS:
#controlslider{
width: 981px;
height: 50px;
background: url(http://s361608839.websitehome.co.uk/images/respmod_menu.gif) no-repeat;
margin: 0 auto;
padding: 0;
text-align: left;
margin-top: -25px;
list-style: none;
overflow: hidden;
}
#controlslider ul{
list-style: none;
display: block;
margin-left: -36px;
margin-top: 0;
list-style-type: none;
}
#controlslider li{
display: inline-block !important;
padding: 5px 0px 0 0;
width: 190px;
height: 35px;
position: relative;
overflow: hidden;
}
#controlslider li a{
font-family: Arial, Helvetica, sans-serif;
font-size: 14px;
color : white;
text-decoration: none;
display: block !important;
width: 190px;
height: 35px;
text-align: center;
padding-top: 10px;
}
#controlslider li a:hover{
background: url(http://s361608839.websitehome.co.uk/images/respmod_menu_button.png);
width: 190px;
height: 35px;
}
答案 0 :(得分:2)
尝试block
和float
代替inline-block
。
#controlslider li{
display: block !important;
float: left;
padding: 5px 0px 0 0;
width: 190px;
height: 35px;
position: relative;
overflow: hidden;
}
务必在UL
之后清除浮动。
答案 1 :(得分:0)
我对你的两个负边缘感到困惑。
至少第一个似乎有一些逻辑,因为你似乎正在使用它来移动菜单,但你永远不应该用负边距修复问题。
第二个负余量对我来说没有意义,因为它搞砸了菜单。
至少因为你拥有的这两个负利润,事情并没有正确显示。 (不要在问题中说明问题,但肯定是个问题。)
你应该摆脱这些。
#controlslider{
margin-top: -25px;
}
#controlslider ul{
margin-left: -36px;
}
编辑:我想请注意,我全都使用负边距。问题在于,如果可以通过优化代码来修复代码,那么使用负边距修复代码效率不高。这甚至可能导致一些问题。