Η :not()
ιδιότητα στο CSS είναι ψευδοκλάση άρνησης και δέχεται έναν απλό επιλογέα ή μια λίστα επιλογών ως επιχείρημα. Ταιριάζει με ένα στοιχείο που δεν αντιπροσωπεύεται από το όρισμα. Το όρισμα που πέρασε ενδέχεται να μην περιέχει πρόσθετους επιλογείς ή ψευδοστοιχεία.
Η δυνατότητα χρήσης μιας λίστας επιλογών ως επιχείρημα θεωρείται πειραματική, αν και η υποστηριζόμενη υποστήριξη αυξάνεται κατά τη στιγμή αυτής της γραφής, συμπεριλαμβανομένων των Safari (από το 2015), Firefox (από τον Δεκέμβριο του 2020) και Chrome (από τον Ιανουάριο του 2021).
/* the X argument can be replaced with any simple selectors */ :not(X) ( property: value; )
Σε αυτό το παράδειγμα έχουμε μια λίστα χωρίς ταξινόμηση με μία κλάση στο
Το CSS μας θα επέλεγε όλα
.different
.
/* Style everything but the .different class */ li:not(.different) ( font-size: 3em; )
Θα μπορούσατε επίσης να κάνετε το ίδιο χρησιμοποιώντας ψευδοκλάσεις που θεωρούνται απλός επιλογέας.
p:not(:nth-child(2n+1)) ( font-size: 3em; )
Ωστόσο, εάν χρησιμοποιήσουμε έναν ψευδο επιλογέα στοιχείων ως επιχείρημά μας, δεν θα παράγει το αναμενόμενο αποτέλεσμα.
:not(::first-line) ( /* ::first-line is a pseudo element selector and not a simple selector */ color: white; )
Πολύπλοκοι επιλογείς
/* select all
s that are not descendants of */ p:not(article *) ( )
Οπτικό παράδειγμα
Ειδικότητα
Η ιδιαιτερότητα της :not
ψευδο-τάξης είναι η ιδιαιτερότητα του επιχειρήματός της. Η :not()
ψευδο-τάξη δεν προσθέτει στην ειδικότητα του επιλογέα, σε αντίθεση με άλλες ψευδο-τάξεις.
Οι διαπραγματεύσεις ενδέχεται να μην είναι ένθετες, οπότε :not(:not(… ))
δεν επιτρέπεται ποτέ. Οι συγγραφείς θα πρέπει επίσης να σημειώσουν ότι επειδή τα ψευδο-στοιχεία δεν θεωρούνται απλοί επιλογείς, δεν είναι έγκυρα ως επιχείρημα :not(X)
. Να είστε προσεκτικοί όταν χρησιμοποιείτε επιλογείς χαρακτηριστικών, καθώς ορισμένοι δεν υποστηρίζονται ευρέως όπως άλλοι. Επιτρέπεται η αλυσίδα :not
επιλογών με άλλους :not
επιλογείς.
Υποστήριξη προγράμματος περιήγησης
Η :not()
ψευδοκλάση έχει ενημερωθεί στην προδιαγραφή επιπέδου 4 του CSS Selectors για να επιτραπεί μια λίστα ορισμάτων. Στο CSS Selectors Level 3, ήταν σε θέση να δεχτεί έναν απλό επιλογέα. Ως αποτέλεσμα, η υποστήριξη του προγράμματος περιήγησης διαιρείται λίγο ανάμεσα στα πρόχειρα επιπέδου 3 και επιπέδου 4.
Απλοί επιλογείς
ΙΕ | Ακρη | Firefox | Χρώμιο | Σαφάρι | ΛΥΡΙΚΗ ΣΚΗΝΗ |
---|---|---|---|---|---|
9+ | Ολα | Ολα | Ολα | 12.1+ | Ολα |
Android Chrome | Android Firefox | Πρόγραμμα περιήγησης Android | iOS Safari | Opera Mobile |
---|---|---|---|---|
Ολα | Ολα | Ολα | Ολα | Ολα |
Λίστα επιλογών
Αυτά τα δεδομένα υποστήριξης του προγράμματος περιήγησης προέρχονται από την Caniuse, η οποία έχει περισσότερες λεπτομέρειες. Ένας αριθμός υποδεικνύει ότι το πρόγραμμα περιήγησης υποστηρίζει τη λειτουργία σε αυτήν την έκδοση και νεότερη.
Επιφάνεια εργασίας
Χρώμιο | Firefox | ΙΕ | Ακρη | Σαφάρι |
---|---|---|---|---|
88 | 84 | Οχι | 88 | 9 |
Κινητό / Tablet
Android Chrome | Android Firefox | Android | iOS Safari |
---|---|---|---|
88 | 85 | 81 | 9.0-9.2 |
Περισσότερες πληροφορίες
- CSS Selectors Module Επίπεδο 3
- CSS Selectors Level 4 προδιαγραφή