【问题标题】:IE7 Bug With Nested UL's and CSS Filter带有嵌套 UL 和 CSS 过滤器的 IE7 错误
【发布时间】:2011-03-15 12:41:45
【问题描述】:

如果不向您展示,我不确定这是否容易解释,所以这里是一个示例 -

http://jsfiddle.net/46gL8/1/

在 FF、Chrome 和 IE8/9 中查看时,该示例按预期工作。在 IE7 中查看时,嵌套的 UL 呈现在父级内部,尽管两者都被绝对定位。 z-index 之类的东西没有区别,唯一的解决方法是从影子类中删除 filter: 行。

我想在 IE7 中只渲染常规边框或其他东西会很好,但如果有人有任何见解,那就太棒了!

【问题讨论】:

  • 真的,最好的办法是放弃过滤器,只在现代浏览器中显示阴影。将为您省去很多麻烦。 dowebsitesneedtolookexactlythesameineverybrowser.com
  • 是的,我完全可以在 IE7 中放弃对阴影的支持,只是想看看是否有人对这些模糊的过滤器有所了解。至于这个问题的答案,大多数 SO 用户会同意这种观点,但大多数营销部门会不同意 ;)
  • 正如@Moses 所说,这是渐进式增强和优雅降级。
  • 同意。我开了一个赏金只是想看看是否有人可以对这个问题有所了解,而不是因为我无法通过变通方法解决它。如果问题没有得到回答,我可能会删除它。还是谢谢!
  • 从第一个菜单中删除 position:absolute; 可以解决问题,但可能不是您想要的。其他解决方案是查看这个支持阴影的菜单:users.tpg.com.au/j_birch/plugins/superfish

标签: html css internet-explorer-7


【解决方案1】:

过滤器似乎会过滤掉所有超出过滤框的内容。如果您从主菜单的层次结构中删除子菜单,它确实有效。见:http://jsfiddle.net/wyDTQ/

当然,我不知道您是如何构建菜单的,所以这可能不是您想要的。不过,它确实解决了您的问题。

【讨论】:

  • 这是我最终为生产版本所做的事情,它工作正常。我打开了赏金,看看是否有人可以对错误本身有所了解。
  • 好的,我明白了。我无法解释 IE7 过滤器的具体内部工作原理,大概 IE7 只能在盒子周围渲染过滤器,而不是盒子上的盒子,抱歉。
【解决方案2】:

看来您只需要解释而不是解决方案。 Microsoft 在http://msdn.microsoft.com/en-us/library/ms532847%28VS.85%29.aspx 中解释了您需要了解的有关过滤器属性的所有信息,没有进一步详细说明它在某些情况下为什么或如何工作。

【讨论】:

  • 我很感激你的努力,但这也无济于事。我将结束这个问题。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2011-06-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-09-05
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多