【发布时间】:2011-10-19 00:23:15
【问题描述】:
我可能遗漏了其他东西,但我正在一个我没有建立的网站上工作,该网站有大量非常混乱的 css 和多个 !important 覆盖。一个布局问题在所有浏览器中都很好,除了某些版本的 IE。
当我使用开发人员工具查看 css 时,我可以看到 1em 的边距被 0.5em 的边距覆盖,但是页面上的边距太大了。即使 1em 的边距看起来像是被覆盖(在开发人员工具中),但当我禁用它工作正常的样式时,换句话说,边距变小了。
那么,如果使用多个 !importants,它们是否存在 IE 不尊重正常覆盖层次结构的错误?或者这可能是开发人员工具中的错误?
我的意思是类似于下面的示例,其中第二个 css 应该覆盖第一个:
.div2 {
margin: 1em !important;
}
body .div2 {
margin: 0.5em !important;
}
谢谢
【问题讨论】:
-
“IE 的某些版本”什么版本?
-
您的示例在历史上最差的浏览器 IE6 中并没有失败。如果您在 6 以下的 Internet Explorer 版本中进行测试,恐怕您无能为力。如果您使用整个代码(或您正在开发的网站本身)链接到像 jsfiddle.net/eSnue 这样的 jsfiddle,我们将更容易为您提供帮助。
-
它只发生在 IE8 中,而不是 6,7 或 9。我无法上传网站,因为它是从 java 文件本地生成的。
-
@Jonas G. Drange:IE6 甚至都没有接近,这个称号将被授予 Netscape 4。
-
我无法以我在上面粘贴的小提琴形式在 IE8 中重现它。如果隔离上面的代码,IE8 中是否仍然存在错误? @BoltClock 幸运的是,Netscape 4 的市场份额不如 Internet Explorer 6 (9.7%)。
标签: css internet-explorer-8 cross-browser