:not()
Hotel v CSS je negacija psevdo razred in sprejema preprosto izbiro ali seznam za izbiro kot argument. Ujema se z elementom, ki ga argument ne predstavlja. Posredovani argument ne sme vsebovati dodatnih izbirnikov ali kakršnih koli izbirnikov psevdoelementov.
Možnost uporabe seznama izbirnikov kot argumenta se šteje za eksperimentalno, čeprav v času pisanja te podpore narašča, vključno s Safari (od 2015), Firefoxom (od decembra 2020) in Chromom (od januarja 2021).
/* the X argument can be replaced with any simple selectors */ :not(X) ( property: value; )
V tem primeru imamo neurejen seznam z enim razredom na
Naš CSS bi izbral vse
.different
.
/* Style everything but the .different class */ li:not(.different) ( font-size: 3em; )
To lahko storite tudi z uporabo psevdo razredov, ki veljajo za preprost izbirnik.
p:not(:nth-child(2n+1)) ( font-size: 3em; )
Če pa kot argument uporabljamo izbirnik psevdo elementov, ne bo prinesel pričakovanega rezultata.
:not(::first-line) ( /* ::first-line is a pseudo element selector and not a simple selector */ color: white; )
Kompleksni izbirniki
/* select all
s that are not descendants of */ p:not(article *) ( )
Vizualni primer
Specifičnost
Posebnost :not
psevdo-razreda je specifičnost njegovega argumenta. Za :not()
razliko od drugih psevdo razredov psevdorazred ne prispeva k posebnosti izbirnika.
Negacij ne sme biti ugnezdenih, zato :not(:not(… ))
ni nikoli dovoljeno. Avtorji bi morali tudi opozoriti, da ker psevdoelementi ne veljajo za preprost izbirnik, niso veljavni kot argument :not(X)
. Bodite pozorni pri uporabi izbirnikov atributov, saj nekateri niso široko podprti kot drugi. Dovoljeno je povezovanje :not
izbirnikov z drugimi :not
izbirniki.
Podpora brskalnika
:not()
Razred psevdo je bil posodobljen v CSS selektorji Stopnja 4 specifikacijo, da je seznam argumentov. V CSS Selectors Level 3 je lahko sprejel samo en preprost izbirnik. Kot rezultat, je podpora brskalnika nekoliko razdeljena med osnutke 3. in 4. stopnje.
Preprosti izbirniki
IE | Rob | Firefox | Chrome | Safari | Opera |
---|---|---|---|---|---|
9+ | Vse | Vse | Vse | 12,1+ | Vse |
Android Chrome | Android Firefox | Brskalnik Android | iOS Safari | Opera Mobile |
---|---|---|---|---|
Vse | Vse | Vse | Vse | Vse |
Seznami izbirnikov
Ti podatki o podpori brskalnika so od Caniuse, ki vsebuje več podrobnosti. Številka pomeni, da brskalnik podpira to funkcijo v tej različici ali novejši.
Namizje
Chrome | Firefox | IE | Rob | Safari |
---|---|---|---|---|
88 | 84 | Ne | 88 | 9. |
Mobilni / tablični računalnik
Android Chrome | Android Firefox | Android | iOS Safari |
---|---|---|---|
88 | 85 | 81 | 9,0-9,2 |
Več informacij
- Modul izbirnikov CSS 3. stopnja
- Specifikacija CSS Selectors Level 4