【问题标题】:CSS rule ".drop.a" being applied to class "drag a"CSS 规则“.drop.a”被应用到类“drag a”
【发布时间】:2012-04-24 20:08:23
【问题描述】:

我有以下 HTML 标记:

<div class="drag a"></div>
<div class="drop a"></div>

我还有以下 CSS 规则,它应该只应用于我的第二个 div:

.drop.a
{
   background-color:red;
}

这工作正常,但在 Internet Explorer 9 中,CSS 规则同时应用于这两个元素。

这是为什么?我以为这种 CSS 兼容所有浏览器?

【问题讨论】:

  • 如果你让它们成为自己的类,例如:drag_a 和 drop_a,它会起作用吗?
  • @Samwise 我想它会,因为这些是 2 个单独的整个类。

标签: css internet-explorer internet-explorer-9 css-selectors


【解决方案1】:

我以为这种 CSS 可以兼容所有浏览器?

不。 IE up to and including version 6 ignores all class selectors in a chain except the last one. IE9 可能会在 quirks 模式下呈现您的页面,这意味着它将像其前身一样,将您的 .drop.a 选择器视为 .a

尝试向您的页面添加 doctype 声明,看看是否可以解决问题。如果您的页面上已经有一个,但您仍然看到此行为,则说明有其他问题。

【讨论】:

  • +1 谢谢!我正在向一个必须在 2000 年代初创建的页面添加拖放功能,并且顶部没有文档类型,我没想到要检查。这解决了我的问题。我会在 6 分钟内标记为答案
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2013-01-26
  • 1970-01-01
  • 2016-07-28
  • 2016-10-10
  • 2011-07-27
  • 2012-12-19
相关资源
最近更新 更多