我有几个页面和一个样式表。 页面主体有两个类:它们的名称和语言。 例如:
<body class="contact english">
现在,在样式表中,我对“专业知识”页面的德语版本有一个特殊规则:
body.expertise.deutsch .container
{
width: 590px;
}
在 IE 6、7、和 8 中,这种样式不仅一致地应用于
<body class="expertise deutsch">
但每个页面上的每个正文元素。
当我删除“主体”时:
.expertise.deutsch .container
{
width: 590px;
}
它按预期工作并且仅适用于“expertise deutsch”。
我傻了吗?瞎的?忽视显而易见的事情?
这是预期行为、已知错误,还是两者都不是?
除了从 IE 8 开始,我找不到任何东西,IE 应该可以处理多个选择器。
Because it has been misunderstood: "Every body element" of course refers to separate body elements on separate pages that all include the same style sheet.
最佳答案
据我了解,IE6 不理解 body.expertise.deutsch 和 body.deutsch 之间的区别。它只选择链中的最后一类。 Ryan Brill has more on it here .
我不确定 IE7 或 8 是否修复了它,但如果它们修复了,您可能需要处于标准模式下才能正常工作(最简单的方法是在文档顶部包含严格或 HTML5 文档类型).
关于html - 这是一个 IE 错误吗? `body.foo.bar .container` 被应用于每个 body 元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1817381/