Pseudoklasa CSS :not()

Pseudoklasa CSS :not() (negacji) wybiera te elementy, które nie są reprezentowane przez listę selektorów prostych (rozdzielanych przecinkami), będącą jej argumentem, np.:

<style>
  p :not(span, em)
</style>
…
<p><span>Akapit</span> ciekawego <span>tekstu</span>, który <em>jest</em> <strong>ważny</strong>.</p>

Selektor użyty w tym przykładzie można odczytać tak: „W elemencie p wybierz wszystkie elementy, oprócz elementów span i em”. W efekcie tylko zawartość elementu strong będzie miała czerwony kolor.

Precyzja selektora :not()

Precyzja selektora pseudoklasy :not() jest taka sama, jak precyzja jej najbardziej precyzyjnego argumentu, np.:

<style>
  p :not(span) {color: red}
  div p em {color: green}
</style>
…
<div>
  <p>
    <span>Akapit</span> ciekawego <span>tekstu</span>, który <em>jest</em> <strong>ważny</strong>.
  </p>
</div>

W tym przypadku tekst znajdujący się w elemencie em będzie miał kolor zielony, ponieważ pierwszy selektor ma taką samą precyzję, jak selektor span. Teraz spójrz na poniższy przykład:

p :not(span, html body div p i) {color: red}
div p em {color: green}

Tutaj tekst znajdujący się w elemencie em w powyższym kodzie HTML będzie miał kolor czerwony, ponieważ pierwszy selektor ma taką samą precyzję, jak selektor html body div p i. Nie ma znaczenia, że na stronie nie występuje element pasujący do tego bardziej precyzyjnego selektora.

Składnia :not

Składnia pseudoklasy :not:

:not(lista selektorów rozdzielanych przecinkami) {...}

Pseudoklasa :not() jako argument przyjmuje tzw. niewybaczającą listę selektorów rozdzielonych przecinkami, tzn. jeśli którykolwiek z selektorów na tej liście jest nieprawidłowy, to cała lista zostaje uznana za nieprawidłową i zignorowana.

Zamiast listy selektorów można także użyć pseudoklasy :not() kilka razy, np.

:not(em, strong)
:not(em):not(strong)

Oba powyższe selektory są równoważne i wybierają wszystkie elementy oprócz elementów em i strong.

Podobał Ci się ten artykuł?

Oceń go!

Średnia 0 / 5. Liczba głosów: 0

Jeszcze nikt nie głosował. Wyprzedź innych i zagłosuj.

Skoro spodobał Ci się ten artykuł...

Poleć go znajomym!

Ojej :( Powiedz nam, co powinniśmy poprawić!

Jajko z dzwonkiem
Podoba Ci się ta strona?

Pomóż nam się rozwijać, wykupując płatne konto. Dzięki temu będziemy mogli tworzyć dla Ciebie jeszcze więcej ciekawych treści, a Ty pozbędziesz się reklam.

Zobacz również