为什么CSS:不是伪类不能按预期工作?

时间:2013-05-07 03:21:02

标签: css css-selectors pseudo-class

考虑以下HTML:

<div class="a">
    <div class="b">Hello</div>
  </div>
  <div class="c">
    <div class="b">World</div>
</div>

仅添加以下CSS颜色&#34; World&#34;红色,正如所料:

.c .b {
  color: red;
}

但是,添加以下CSS代替colors both "Hello" and "World" in red

:not(.a) .b {
  color: red;
}

为什么?

2 个答案:

答案 0 :(得分:7)

你需要这样说: -

Demo

div:not(.a) .b {
  color: red;
}

Pseudo-class :not

  

语法是selector:not(){properties}

答案 1 :(得分:3)

由于:not伪类表示一个未被其参数表示的元素, 您 指定要排除的元素 :not选择器

根据您的示例,请尝试以下方法:

div:not(.a) .b {
  color: red;
}