【问题标题】:IE9 Dropdown menu - Filter bugIE9 下拉菜单 - 过滤器错误
【发布时间】:2013-05-18 04:38:01
【问题描述】:

我有一个在所有现代浏览器中都可以正常工作的下拉菜单,但是在 IE9 中发生了一些奇怪的事情。下拉列表以某种方式显示为透明或不可见,但它的框阴影是可见的。此外,当您将鼠标悬停在父列表项上时,悬停会失败。

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

http://gratefulglass.viussandbox.co/

我在子菜单的包含元素上放置了一个红色边框,以说明菜单似乎定位正确。

任何建议将不胜感激。

【问题讨论】:

  • 我已投票结束这个问题,因为它对您的网站来说太具体了,不太可能帮助任何未来的访问者。最好的问题有一个小的独立示例,其中包含足够的代码来演示问题,没有任何额外内容。将此代码直接发布到问题中。这样做可能需要做很多工作,但它是解决问题过程中的关键部分。
  • 今天这个问题和选择的答案对我有帮助。我遇到了同样的问题。感谢您的参与。

标签: css internet-explorer filter html-lists


【解决方案1】:

问题在于您在代码中的<ul><a> 标记上设置的filter CSS 属性。 IE9 将为您呈现渐变背景,但这会导致它在内部对元素设置 hasLayout 标志,这会导致渲染器将该元素视为具有 overflow: hidden; 并且您不能通过简单地设置 @987654325 来覆盖它@ 因为它实际上不是 CSS 规则,而是内部渲染引擎在处理元素时处理元素的方式。如果您在覆盖中删除带有filter: none; 的过滤器,或者根本不设置它们,那么您应该会再次看到一切正常。

【讨论】:

  • 太棒了!感谢您指出这一点,我永远不会发现这一点。我正要跳出窗外放弃。
  • 谢谢布赖恩!我需要那个。
【解决方案2】:

检查此链接: 1, 2 对不起,但不能放更多链接: http://&& joseph.randomnetworks.com/2006/08/16/css-opacity-in-internet-explorer-ie/ http://&& www.webdeveloper.com/forum/showthread.php?163100-Opacity-hover-not-working-in-IE

根据浏览器,某些属性的行为会有所不同或不持久。 但总有办法让它发挥作用。 使其工作的最佳方式,javascript。

【讨论】:

  • 感谢您的建议。但是,我实际上并不认为这是一个不透明的问题,这就是为什么我对此感到如此困惑。出现的菜单是通过从左边改变位置来控制的:-999em;向左:0;
  • 我看不到有关错误的详细信息,因为我没有代码,但您可以:用 IE9 打开,按 F12 并转到脚本,重新加载网页。我可以从这里捕获一些错误,但由于我没有脚本,所以我看不到发生错误的代码。你可以在那里检查错误,我只是看到有 CSS 问题。希望对您有所帮助。
  • 页面上唯一的错误是字体问题,它无法识别 .eot 文件。无论如何,字体都可以正常加载,所以这不是问题。我遇到的问题没有任何实际的“错误”。
  • 你试过IE9的兼容性视图吗?可以把菜单的代码和css放上来吗?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-03-11
  • 2012-12-05
  • 2018-08-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多