Вот официальная документация для псевдо-класса CSS3 :not()
:
http://www.w3.org/TR/css3-selectors/#negation
и предлагаемые улучшения CSS Selectors Level 4:
http://dev.w3.org/csswg/selectors4/#negation
Я искал реализацию и поддержку браузера для :not()
, но единственные примеры, которые я нашел, были с одним элементом или с прямым дочерним элементом элемента, например:
div *:not(p) { color: red; }
Приведенный выше пример работает, когда <p>
является прямым дочерним элементом <div>
, но он не работает, когда <p>
является более отдаленным потомком <div>
.
div :not(p) {
color: red;
}
<div>
<ul>
<li>This is red</li>
</ul>
<p>This is NOT</p>
<blockquote><p>This is red but is not supposed to be!</p></blockquote>
</div>