这是IE Bug吗?`body.foo.bar .container`应用于每个body元素

Pek*_*ica 1 html css internet-explorer

我有几个页面和一个样式表.页面主体有两个类:它们的名称和语言.例如:

<body class="contact english">
Run Code Online (Sandbox Code Playgroud)

现在,在样式表中,我对"专业知识"页面的德语版本有一个特殊规则:

 body.expertise.deutsch .container
  {
    width: 590px;
  }
Run Code Online (Sandbox Code Playgroud)

在IE 6,7 和8中,这种风格不仅一致地应用于

<body class="expertise deutsch">
Run Code Online (Sandbox Code Playgroud)

每页上的每个身体元素.

当我删除"身体":

.expertise.deutsch .container
  {
    width: 590px;
  }
Run Code Online (Sandbox Code Playgroud)

它按预期工作,仅适用于"专业技术deutsch".

我愚蠢吗?盲?俯瞰明显的?

这是预期的行为,已知的错误,还是两者都没有?

除了IE 8之外,我找不到任何东西,IE应该处理多个选择器.

因为它被误解了:"每个body元素"当然是指在单独的页面上的单独的body元素,它们都包含相同的样式表.

Oll*_*son 5

据我了解,IE6不理解body.expertise.deutsch和body.deutsch之间的区别.它只选择链中的最后一个类.瑞安布里尔在这里有更多.

我不确定IE7或8是否修复了它,但如果它们确实存在,你可能需要处于标准模式才能工作(最简单的方法是在文档顶部加入严格或HTML5文档类型).