我有一个下拉菜单,它在所有现代浏览器中都能正常工作,但在 IE9 中会发生一些奇怪的事情。下拉列表以某种方式显示为透明或不可见,但其框阴影是可见的。此外,当鼠标离开父列表项时,悬停会失败。
我指的是顶部的主导航栏:
http://gratefulglass.viussandbox.co/
我在子菜单的包含元素上放置了一个红色边框,以说明菜单的位置似乎正确。
如有任何建议,我们将不胜感激。
最佳答案
问题出在 filter
您在 <ul>
上设置的 CSS 属性和 <a>
代码中的标签。 IE9 将为您渲染渐变背景,但这会导致它在内部元素上设置 hasLayout 标志,这会导致渲染器将该元素视为有 overflow: hidden;
。你不能通过简单地设置 overflow: visible;
来覆盖它因为它实际上 不是 CSS 规则,而是内部渲染引擎在处理元素时处理元素的方式。如果使用 filter: none;
删除过滤器在覆盖中,或者根本不设置它们,那么您应该会再次看到一切正常工作。
关于css - IE9 下拉菜单 - 过滤器错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16548855/