:not()
Nehnuteľnosť v CSS je negáciou pseudo class a prijíma jednoduchý volič alebo zoznam voliča ako argument. Zhoduje sa s prvkom, ktorý nie je reprezentovaný argumentom. Predaný argument nemusí obsahovať ďalšie selektory ani žiadne selektory pseudoprvkov.
Schopnosť použiť zoznam selektorov ako argument sa považuje za experimentálnu, aj keď v čase písania tohto článku jeho podpora rastie, a to vrátane Safari (od roku 2015), Firefox (od decembra 2020) a Chrome (od januára 2021).
/* the X argument can be replaced with any simple selectors */ :not(X) ( property: value; )
V tomto príklade máme neusporiadaný zoznam s jednou triedou na
Náš CSS by vybral všetky
.different
.
/* Style everything but the .different class */ li:not(.different) ( font-size: 3em; )
To isté môžete urobiť aj pomocou pseudotried, ktoré sa považujú za jednoduchý selektor.
p:not(:nth-child(2n+1)) ( font-size: 3em; )
Ak však ako argument použijeme selektor pseudo prvkov, neprinesie očakávaný výsledok.
:not(::first-line) ( /* ::first-line is a pseudo element selector and not a simple selector */ color: white; )
Komplexné selektory
/* select all
s that are not descendants of */ p:not(article *) ( )
Vizuálny príklad


:not()
Špecifickosť
Špecifickosť :not
pseudotriedy je špecifickosť jej argumentu. :not()
Pseudo-class nepridá na voličov špecifickosti, na rozdiel od iných pseudotried.
Negácie nemusia byť vnorené, takže :not(:not(… ))
to nie je nikdy povolené. Autori by si mali uvedomiť, že keďže pseudoelementy sa nepovažujú za jednoduchý selektor, nie sú platné ako argumenty pre :not(X)
. Pri používaní selektorov atribútov buďte opatrní, pretože niektoré nie sú podporované ako iné. Spájanie :not
selektorov s inými :not
selektormi je prípustné.
Podpora prehliadača
:not()
Trieda pseudo bola aktualizovaná v Level 4 špecifikácii CSS selektory, aby bolo možné zoznam argumentov. Na úrovni 3 selektorov CSS bol schopný prijať iba jeden jednoduchý selektor. Vo výsledku je podpora prehliadača trochu rozdelená medzi koncepty úrovne 3 a 4.
Jednoduché selektory
IE | Hrana | Firefox | Chrome | Safari | Opera |
---|---|---|---|---|---|
9+ | Všetky | Všetky | Všetky | 12,1+ | Všetky |
Android Chrome | Android Firefox | Prehliadač Android | iOS Safari | Opera Mobile |
---|---|---|---|---|
Všetky | Všetky | Všetky | Všetky | Všetky |
Zoznamy selektorov
Údaje o podpore tohto prehľadávača sú od spoločnosti Caniuse, ktorá obsahuje viac podrobností. Číslo označuje, že prehliadač podporuje túto funkciu v danej verzii alebo vyššej.
Desktop
Chrome | Firefox | IE | Hrana | Safari |
---|---|---|---|---|
88 | 84 | Nie | 88 | 9 |
Mobil / tablet
Android Chrome | Android Firefox | Android | iOS Safari |
---|---|---|---|
88 | 85 | 81 | 9.0-9.2 |
Viac informácií
- Modul selektorov CSS úrovne 3
- Špecifikácia úrovne 4 selektorov CSS