Имейте это в виду:
:not()
эквивалентно *:not()
Когда нет выбора префикса :not()
псевдо-класса, универсальный селектор подразумевается:
6.2. Universal selector
Если универсальный селектор представлены *
(т.е. без префикса ) не является единственным компонентом последовательности простых селекторов или сразу же следует псевдоэлемент, тогда *
может быть опущен и подразумевается присутствие универсального селектора.
Таким образом, у вас есть правило:
:not(.mind) {
color: red
}
... говорит применять красный цвет для всех элементов, кроме элемента с классом mind
.
Хорошо, за исключением того, в этом случае, the color
property is inheritable, так что даже если красный не будет применен к .mind
элементу, он по-прежнему получает красный через наследование от .parent
элемента.
Вот что делает браузер:
Быстрый способ проверить это поведение является с border
свойством, которое не является наследуемым.
В приведенном ниже примере, с помощью переключателя, вы заметите, что граница не будет применена к .mind
, и ваш селектор работает, как вы ожидали:
:not(.mind) {
color: red;
border-bottom: 1px dashed black;
}
<div class='parent'>
<div class='child'>One</div>
<div class='child'>Two</div>
<div class='child'>Three</div>
<div class='child'>One</div>
<div class='child'>Two</div>
<div class='child'>Three</div>
<div class='child'>One</div>
<div class='mind'>mind</div>
<div class='child'>Three</div>
<div class='child'>
<p>First paragraph</p>
</div>
</div>
[Другой комментарий repost] (http://stackoverflow.com/posts/comments/66825737): «По моему опыту, большинство авторов считают удивительным, что псевдоклас или псевдоэлемент могут появляться сами по себе, без сопровождения [ sic], идентификатор или селектор. И когда вы скажете им, что псевдо-класс или псевдо-эльт могут появляться сами по себе во многом таким же образом, как может быть селектор id или класса, они действуют так, как будто у них просто было прозрение. потому что вы редко находите одиночные псевдоклассы или псевдоэлементы в создании CSS (кроме: root и :: selection, я думаю). " – BoltClock
Вы можете сообщить опечатки в www-style, но так как css3-selectors уже является REC, а селекторы-4 активно работают, я бы не стал беспокоиться. Есть ряд других, таких как «события» в разделе специфичности. – BoltClock
Ничего себе. Я предполагаю, что мое первоначальное предположение было правильным –