2013-05-14 93 views
3

我有一个下拉菜单,在所有现代浏览器中都能正常工作,但在IE9中发生了一些奇怪的事情。下拉菜单以某种方式显示为透明或不可见,但其框形阴影可见。另外,鼠标离开父列表项时,悬停失败。IE9下拉菜单 - 过滤器错误

我指的是在顶部的主导航栏:

http://gratefulglass.viussandbox.co/

我放置在子菜单的含元件上的红色边框,以示出该菜单似乎正确地定位。

任何建议将不胜感激。

+0

我已投票结束此问题,因为它对您的网站太具体,并且不可能帮助任何未来的访问者。最好的问题有一个小型自包含的示例,其中包含足够的代码来演示问题,没有任何额外的问题。将此代码直接发布到问题中。这样做可能需要很多工作,但它是解决问题的关键部分。 – KatieK 2013-06-12 19:44:42

+0

这个问题和选定的答案今天帮了我。我遇到了同样的问题。感谢参与。 – Nate 2014-07-19 04:13:20

回答

3

问题在于您在代码中的<ul><a>标签上设置的filter CSS属性。 IE9会为您渲染渐变背景,但会导致它在内部设置元素上的hasLayout标志,这会导致渲染器将该元素当作overflow: hidden;,并且您无法仅仅通过设置overflow: visible;来覆盖该元素,因为它不是实际上是一个CSS规则,而是内部渲染引擎在处理元素时处理元素的方式。如果您在覆盖中使用filter: none;删除筛选器,或者只是不设置它们,那么您应该会看到所有事情都能正常工作。

+0

太棒了!感谢您指出这一点,我永远不会发现这一点。我正要跳出一扇窗户,放弃。 – 2013-05-17 20:36:29

+0

谢谢Brian!我需要那个。 – Nate 2014-07-19 04:14:45

0

检查此链接: 12 很抱歉,但不能把更多的链接: HTTP:// & & joseph.randomnetworks.com/2006/08/16/css-opacity-in-internet-explorer - 即/ HTTP:// & & www.webdeveloper.com/forum/showthread.php?163100-Opacity-hover-not-working-in-IE

一些属性的行为不同,或者不是持久取决于浏览器。 但总有办法让它工作。 使其工作的最佳方式,javascript。

+1

感谢您的建议。但是,我并不认为它是一个不透明的问题,这就是为什么我对此感到困惑。出现的菜单通过从左侧改变位置来控制:-999em;向左:0; – 2013-05-14 19:31:19

+0

我不能看到错误的细节,因为我没有代码,但你可以: 用IE9打开,按F12并转到脚本,reload de web。 我可以从这里捕捉到一些错误,但由于我没有脚本我不能看到错误发生的代码。 你可以检查那里的错误,我只是看到有CSS问题。 希望它有帮助。 – AAlferez 2013-05-14 20:31:38

+1

页面上的唯一错误是字体问题,它无法识别.eot文件。无论如何,字体正在加载,所以这不是问题。没有任何与我遇到的问题有关的实际“错误”。 – 2013-05-15 17:45:46