次の HTML を検討してください。
<div class="a">
<div class="b">Hello</div>
</div>
<div class="c">
<div class="b">World</div>
</div>
次の CSS の色を追加すると、予想どおり、"World" だけが赤で表示されます。
.c .b {
color: red;
}
ただし、代わりに次の CSS を追加すると、「Hello」と「World」の両方が赤で表示されます。
:not(.a) .b {
color: red;
}
なんで?