Den :not()
egendom i CSS är en negation pseudo klass och accepterar en enkel väljare eller en lista väljare som ett argument. Det matchar ett element som inte representeras av argumentet. Det godkända argumentet får inte innehålla ytterligare väljare eller några pseudoelementväljare.
Möjligheten att använda en lista med väljare som argument anses vara experimentell, även om den stöds växer när detta skrivs, inklusive Safari (sedan 2015), Firefox (sedan december 2020) och Chrome (sedan januari 2021).
/* the X argument can be replaced with any simple selectors */ :not(X) ( property: value; )
I det här exemplet har vi en oordnad lista med en enda klass på
Vår CSS skulle välja alla
.different
.
/* Style everything but the .different class */ li:not(.different) ( font-size: 3em; )
Du kan också göra detsamma med pseudoklasser som anses vara en enkel väljare.
p:not(:nth-child(2n+1)) ( font-size: 3em; )
Men om vi använder en pseudoelementväljare som vårt argument kommer det inte att ge det förväntade resultatet.
:not(::first-line) ( /* ::first-line is a pseudo element selector and not a simple selector */ color: white; )
Komplexa väljare
/* select all
s that are not descendants of */ p:not(article *) ( )
Visuellt exempel


:not()
Specificitet
Pseudoklassens specificitet :not
är specificiteten i dess argument. Den :not()
pseudo-klassen inte lägga till i specificitet väljaren till skillnad från andra pseudo-klasser.
Negationer kanske inte är kapslade så det :not(:not(… ))
är aldrig tillåtet. Författare bör också notera att eftersom pseudoelement inte betraktas som en enkel väljare, är de inte giltiga som argument för :not(X)
. Var uppmärksam när du använder attributväljare eftersom vissa inte stöds allmänt som andra. Kedjeväljare :not
med andra :not
väljare är tillåtna.
Webbläsarstöd
Den :not()
pseudo klassen har uppdaterats i CSS väljarna Nivå 4 specifikation för att möjliggöra en argumentlistan. I CSS-väljare nivå 3 kunde den bara acceptera en enda enkel väljare. Som ett resultat är webbläsarstöd lite uppdelat mellan utkasten på nivå 3 och nivå 4.
Enkla väljare
IE | Kant | Firefox | Krom | Safari | Opera |
---|---|---|---|---|---|
9+ | Allt | Allt | Allt | 12.1+ | Allt |
Android Chrome | Android Firefox | Android-webbläsare | iOS Safari | Opera Mobile |
---|---|---|---|---|
Allt | Allt | Allt | Allt | Allt |
Väljarlistor
Denna webbläsares supportdata kommer från Caniuse, som har mer detaljer. Ett nummer indikerar att webbläsaren stöder funktionen i den versionen och uppåt.
Skrivbord
Krom | Firefox | IE | Kant | Safari |
---|---|---|---|---|
88 | 84 | Nej | 88 | 9 |
Mobil / surfplatta
Android Chrome | Android Firefox | Android | iOS Safari |
---|---|---|---|
88 | 85 | 81 | 9,0-9,2 |
Mer information
- CSS-väljarmodul nivå 3
- CSS-väljare nivå 4-specifikation