0

我有一个关于 superfish 的问题,它使得下拉菜单仅出现在 IE8 中。它出现在其他所有东西(甚至是 IE6)中,但不是 IE8。我根本没有修改源 JS,我调用了一个名为“subnav”的 div,其中显示了我的列表。

应该发生的是,当我将鼠标悬停在菜单项上时,它会将下拉菜单的 CSS 更改为“可见性:可见性,显示:块”并显示菜单。在 IE8 中,什么都没有发生,也没有任何 CSS 改变。

有什么想法可能导致它吗?我还在为超级鱼使用 supersubs 插件。

这是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>
4

1 回答 1

0

不确定这是否会解决您看到的问题,但我在您的 html 片段中注意到带有 subnav 类的 UL 元素没有用适当的标签关闭。我要尝试的第一件事是将它们替换为:

<ul class="subnav"></ul>

IE8 可能不会像其他浏览器那样优雅地处理任何其他错误。尝试通过验证器运行您的页面(即:W3C 标记验证器

于 2011-01-29T15:07:29.443 回答