我使用以下HTML程序创建具有水平子菜单的水平菜单栏。它在Fire Fox和Chrome 中工作正常,但在IE中不起作用 .So 什么是这个改变是否需要改变?
<html>
<head>
<style>
/* Targeting both first and second level menus */
#nav li {
list-style:none;
float: left;
position: relative;
}
#nav li a {
display: block;
padding: 8px 12px;
text-decoration: none;
}
#nav li a:hover {
background-color:red;
color:#FFF;
opacity:1;
}
/* Targeting the first level menu */
#nav {
top:150px;
min-width:850px;
background:#fff;
opacity:0.5;
display: block;
height: 34px;
z-index: 100;
position: absolute;
}
#nav > li > a {
}
/* Targeting the second level menu */
#nav li ul {
color: #333;
display: none;
position: absolute;
width:850px;
}
#nav li ul li {
display: inline;
}
#nav li ul li a {
background: #fff;
border: none;
line-height: 34px;
margin: 0;
padding: 0 8px 0 10px;
}
#nav li ul li a:hover {
background-color:red;
color:#FFF;
opacity:1;
}
/* Third level menu */
#nav li ul li ul{
top: 0;
}
ul.child {
background-color:#FFF;
}
/* A class of current will be added via jQuery */
#nav li.current > a {
background: #f7f7f7;
float:left;
}
/* CSS fallback */
#nav li:hover > ul.child {
left:0;
top:34px;
display:inline;
position:absolute;
text-align:left;
}
#nav li:hover > ul.grandchild {
display:block;
}
</style>
</head>
<body>
<ul id="nav">
<li><a href="#">Home</a></li>
<li>
<a href="#">Products</a>
<ul class="child">
<li><a href="#">Hard Drives</a></li>
<li><a href="#">Monitors</a></li>
<li><a href="#">Speakers</a>
<ul class="child">
<li><a href="#">10 watt</a></li>
<li><a href="#">20 watt</a></li>
<li><a href="#">30 watt</a></li>
</ul>
</li>
<li><a href="#">Random Equipment</a></li>
</ul>
</li>
<li>
<a href="#">Services</a>
<ul class="child">
<li><a href="#">Repairs</a></li>
<li><a href="#">Installations</a></li>
<li><a href="#">Setups</a></li>
</ul>
</li>
<li><a href="#">About</a></li>
<li><a href="#">Contact</a></li>
</ul>
</body>
</html>
答案 0 :(得分:0)
或者
您可以将导航从浮动块切换到“内联”元素,IE6等旧版本的浏览器不能很好地识别浮点数。
或者
如果您想坚持使用浮动,请确保为任何浮动元素设置“宽度”。
克里斯·科伊尔(Chris Coyier)有一篇关于花车的好文章,其中包含一个标有“漂浮物问题”的部分 http://css-tricks.com/all-about-floats/
答案 1 :(得分:0)
由于某些原因,我甚至无法让IE8中的小提琴网站工作......?但是我在CSS中注意到的一个问题是不透明度。 IE8不支持opacity属性。要更改旧IE中元素的不透明度,请使用filter:alpha(opacity=75);
注意,值75是1到100之间的整数,而不是像opacity属性那样的小数。我希望我能得到更多的帮助,但我甚至看不出小提琴中的问题......