我对superfish有一个问题,这使得下拉菜单根本不会出现在IE8中。它出现在其他一切(甚至IE6)但不是IE8。我根本没有修改源JS,我正在调用一个名为“subnav”的div,其中显示了我的列表。
当我将鼠标悬停在菜单项上时,它应该发生什么,它将下拉菜单的CSS更改为“visibility:visible,display:block”并显示菜单。在IE8中,没有任何反应,也没有改变CSS。
任何可能导致它的想法?我也在使用superubs插件用于superfish。
这是css:
#navbar ul{
margin:10;
padding:0;
width:1000px;
}
#navbar li{
float:left;
color:#191919;
list-style-type:none;
text-transform:uppercase;
background:transparent url('../images/common/layout/nav-separator.jpg') center right no-repeat;
padding:10px 0;
}
#navbar li.last{
background:none;
}
#navbar ul li a{
padding: 12px 33px;
color: #fff;
text-decoration: none;
}
#navbar ul li a:hover{
color:#05af0d;
background:transparent url(../images/common/layout/nav-hover-highlight.png) top center no-repeat;
}
#navbar ul li a.hover-arrow:after{
margin-left:10px;
content:url(../images/common/nav-arrow.png);
}
#navbar ul li:hover a.hover-arrow:after{
margin-left:10px;
content:url(../images/common/nav-arrow-roll.png);
}
#navbar ul li a.hover-arrow:hover{
background:#000 url('../images/common/layout/nav-separator.jpg') right 9px no-repeat;
}
#navbar ul li p{
margin:0;
display:inline-block;
}
/*Sub Nav Lists */
.subnav {
display:none;
visibility:hidden;
}
#navbar ul li ul{
margin:0; padding:0;
position: absolute;
left: auto; top: 40px;
background: #333;
z-index: 99;
}
#navbar ul li ul li{
background:none;
}
#navbar ul li ul li a{
padding:0px 3px;
display:inline-block;
margin:0;
width:150px;
text-transform:capitalize;
}
#navbar ul li ul li a:hover{
background-color:#a7a7a7;
color:#000;
border:none;
background-image:none;
font-weight:bold;
}
以下是页面上的内容:
<div id="navbar">
<ul class="topnav">
<li id="item 1"><p></p>
<ul class="subnav"></subnav>
</li>
<li id="item 2"><p></p>
<ul class="subnav"></subnav>
</li>
etc...
</ul>
</div>
答案 0 :(得分:0)
不确定这是否能解决您所看到的问题,但我在您的html片段中注意到,带有subnav类的UL元素未使用适当的标记关闭。我要尝试的第一件事就是用以下内容替换它们:
<ul class="subnav"></ul>
IE8可能无法像其他浏览器一样处理任何其他错误。尝试通过验证器运行您的页面(例如:The W3C Markup Validator)