IE8中使用position fixed和position absolute内部溢出的问题

3

我一直在制作一个粘性菜单,里面带有超级菜单的下拉框。当用户加载页面时,导航是静态的。导航类似于以下内容。

<div class='navigation'>
<ul>

<li><a href="">Home</a></li>
<li>
<a href="">About</a>
<div class='megamenu'>Megamenu</div>
</li>

</ul> 

在页面加载时,这个超级菜单的位置是绝对定位,并且left:-9999px; 当用户滚动导航栏时,我将其位置更改为固定,并且在所有浏览器中似乎都可以正常工作。

问题在于,在IE8中,由于部分超级菜单超出了导航栏的部分而被剪切掉,似乎导航栏的overflow设置成了hidden。

我已经尝试了在所有元素上设置z-index以及overflow:visible,但没有成功。

谢谢。


使用JSFiddle编辑你的HTML/CSS/JS代码? - Wes Cossick
1个回答

4

所以我发现出现了一些错误。我在超级菜单上有一个z-index,这样它就会显示在页面上的其他元素上方。如果我去掉它,那么它就可以使用。但是我需要它,因此我深入研究并发现IE 9及以下版本不支持固定菜单和我在导航背景上应用的渐变滤镜。我将其更改为常规颜色,然后一切都解决了。


正是我的问题。如果没有这个答案,我永远不会想到解决方法。谢谢。 - Bogdan
啊,我总是忘记 CSS 滤镜会破坏一些奇怪的东西。 - WraithKenny
差不多就是我的问题。我在父元素上使用了 z-index - panzi
1
谢谢!要是没有你,我可能永远都不会发现 position: fixed + filter = 隐藏溢出。 - erikkallen

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接