: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