HTML结构如下:
<div class="header">
<ul class="nav>
<li><a href="">item</a>
<ul><li><a href="">sub-item</a></li></ul>
</li>
</ul>
</div><!-- /header-->
<div class="featured"></div>
<div class="content"></div>
子菜单采用绝对定位,设置了
visibility:hidden
,然后使用jQuery将其设置为visible
,如下所示:$(".header ul.nav li").hover(function(){
$(this).addClass("hover");
$('ul:first',this).css('visibility', 'visible');
}, function(){
$(this).removeClass("hover");
$('ul:first',this).css('visibility', 'hidden');
});
我在IE7中遇到了下拉菜单被其他内容覆盖的问题,通过将z-index赋给其父元素和其他div轻松解决:
*:first-child+html .header {
position: relative;
z-index: 2 !important;
}
*:first-child+html .content,
*:first-child+html .main,
*:first-child+html .primary
*:first-child+html .featured {
position: relative;
z-index: 1 !important;
}
现在,我不知道为什么当鼠标悬停在其他div上时菜单会消失,您可以在此处查看网站实时演示:http://dev.gentlecode.net/ama/ubezpieczenia.html 我需要任何帮助,在没有任何解决方案的情况下已经盯着这段代码很久了。我想这只是我已经有了隧道视野...
提前感谢您的任何帮助!
*:first-child+html .primary
后面缺少了一个逗号,不确定这是否有影响。 - Amit