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

Mis*_*hko 3 css css-selectors pseudo-class

请考虑以下HTML:

<div class="a">
    <div class="b">Hello</div>
  </div>
  <div class="c">
    <div class="b">World</div>
</div>
Run Code Online (Sandbox Code Playgroud)

正如预期的那样,将以下CSS颜色仅添加为红色的"World":

.c .b {
  color: red;
}
Run Code Online (Sandbox Code Playgroud)

但是,添加以下CSS会将"Hello"和"World"颜色改为红色:

:not(.a) .b {
  color: red;
}
Run Code Online (Sandbox Code Playgroud)

为什么?

PSL*_*PSL 7

你需要像这样给: -

演示

div:not(.a) .b {
  color: red;
}
Run Code Online (Sandbox Code Playgroud)

伪类:没有

语法是selector:not(){properties}