:not()
Описание
Отрицательный CSS псевдокласс (en-US), :not(X)
- функция, принимающая простой селектор X в качестве аргумента. Он находит элементы, не соответствующие селектору. X не должен содержать других отрицательных селекторов.
Примечание:
- С этого псевдокласса можно написать бесполезные селекторы. Например,
:not(*)
найдёт любой элемент, являющийся не любым, то есть правило не применится ни к одному элементу. - Возможно переписать другие правила. Например
foo:not(bar)
найдёт тот же элемент, что и простойfoo
. Тем не менее специфичность (en-US) первого выше. :not(foo){}
найдёт что угодно, что неfoo
, включая<html>
и<body>
.- Это селектор применяется только к одному элементу. Вы не можете использовать его, чтобы исключить всех родителей. Например,
body :not(table) a
применится к ссылкам внутри таблицы, тогда как<tr>
(en-US) будет соответствовать:not()
части селектора.
Синтаксис
:not(selector) { style properties }
Пример
css
p:not(.classy) {
color: red;
}
body :not(p) {
color: green;
}
CSS выше и HTML ниже...
html
<p>Некоторый текст.</p>
<p class="classy">Какой-то другой текст.</p>
<span>Ещё текст</span>
Выведет это:
Спецификации
Specification |
---|
Selectors Level 4 # negation |
Поддержка браузерами
BCD tables only load in the browser