我的javascript下拉导航菜单显示在Internet Explorer 7中的内容后面

时间:2010-05-25 20:52:19

标签: javascript css z-index internet-explorer-7

好的,所以我正在进行重新设计,我们已经解决了大部分的跨浏览器CSS兼容性错误 - 除了使用ie7的明显错误。

问题是我们正在使用JavaScript来导航菜单下拉菜单。在除了着名的罪魁祸首之外的所有浏览器中,一切都按预期运行。

然而,在IE7中,我的下拉列表出现在我的其他页面元素后面,好像z-index设置为负值。但实际上我确实应用了一个CSS规则,将此元素设置为z-index为4000,并使用该规则在现代浏览器中纠正相同的问题。

由于某些原因,IE7无法识别该规则。 IE7不支持这个CSS规则吗?如果没有,有关如何解决IE7的任何建议?一个JavaScript解决方案?

以下是相关网页:http://betawww.helpcurenow.org/

谢谢!

6 个答案:

答案 0 :(得分:3)

好的,在做了一些研究之后,感谢Scott关于IE7 z-index成为问题的建议,我在http://webdemar.com/webdesign/superfish-jquery-menu-ie-z-index-bug/找到了解决方案

麻烦是我的包含元素(div#header和div #mainContent)需要为IE7分配z-index值来解决此问题。

答案 1 :(得分:2)

我也遇到了这个问题,但是为包含元素(菜单)分配一个高z-index本身并没有解决问题。我不得不添加 position:relative 来将它推到顽固的脚本前面(当然,将z-index:0分配给图像脚本)。

答案 2 :(得分:1)

在Internet Explorer中,定位元素生成一个新的堆叠上下文,从z-index值0开始。因此,z-index无法正常工作。

这可能是问题的一部分,如果您需要JS解决方案,您可以查看以下项目:

http://code.google.com/p/ie7-js/

答案 3 :(得分:1)

好的,在做了一些研究之后,感谢Scott关于IE7 z-index成为问题的建议,我在http://webdemar.com/webdesign/superfish-jquery-menu-ie-z-index-bug/找到了解决方案

麻烦是我的包含元素(div#header和div #mainContent)需要为IE7分配z-index值来解决此问题。

这非常有用。非常感谢你。

答案 4 :(得分:0)

将菜单放入新的DIV中,并为该DIV提供z-index(更大的值)。

答案 5 :(得分:0)

我遇到了这个问题,我把这些代码放在了有问题的页面中,并解决了它。只需将div替换为元素即可。

<script>$(function() {
var zIndexNumber = 1000;
$("div").each(function() {
$(this).css('zIndex', zIndexNumber);
zIndexNumber -= 10;
});
});
</script>