Το :user-invalid
είναι ένα CSS ψευδο-class που είναι σύμφωνα με την πρόταση της CSS Selectors Level σχέδιο 4 εργασίας ότι επιλέγει ένα στοιχείο μορφή ανάλογα με το αν η αξία, όπως είχαν εγγραφεί από το χρήστη είναι έγκυρη όταν ελέγχεται σε σχέση με το τι ορίζεται ως αποδεκτή τιμή στο η σήμανση HTML μετά τον αλληλεπίδραση του τελικού χρήστη με τη φόρμα πέρα από αυτήν την εισαγωγή. Στην πραγματικότητα, :user-invalid
έχει κληθεί "Ψευδο-κλάση αλληλεπίδρασης χρήστη" επειδή είναι μοναδικό στον προσδιορισμό μιας ενέργειας χρήστη στην επιλογή ενός στοιχείου.
Πάρτε την ακόλουθη σήμανση HTML για μια βασική φόρμα με αριθμητικό πεδίο:
Ποσότητα:
Το αριθμητικό εύρος που ορίζεται από τη σήμανση HTML για την είσοδο είναι μεταξύ 1
και 10
αλλά η προεπιλεγμένη τιμή έχει οριστεί σε 11
. Αυτό σημαίνει ότι η τιμή δεν είναι έγκυρη μόλις φορτωθεί η φόρμα.
Ωστόσο, η :user-invalid
ψευδο-τάξη δεν θα τεθεί σε ισχύ παρά μόνο μετά την πραγματική αλληλεπίδραση του χρήστη με τη φόρμα πέρα από την εισαγωγή της στο πεδίο. Αυτή η αλληλεπίδραση είναι η διαφορά μεταξύ :user-invalid
και :invalid
. Η ίδια αρχή ισχύει για τις τιμές της εισαγόμενης φόρμας που ορίζονται από :in-range
, :out-of-range
και :required
.
Μόλις η τιμή που έχει εισαγάγει ο χρήστης προσδιοριστεί ως μη έγκυρη καταχώριση, μπορούμε να επιλέξουμε το στοιχείο:
input:user-invalid ( color: red; )
Η παρακάτω εικόνα απεικονίζει τις διαφορετικές καταστάσεις μεταξύ :valid
και :user-invalid
βάσει του παραπάνω παραδείγματος HTML.
Το μπερδεμένο πράγμα με εδώ είναι πόσο στενά σχετίζεται :invalid
και :user-invalid
είναι. Εάν χρησιμοποιηθούν μαζί, μπορεί να είναι δύσκολο να διακρίνουμε τα δύο:
input:invalid ( color: red; ) input:user-invalid ( color: red; )
Χρησιμοποιώντας το ένα πάνω στο άλλο ή έχοντας ξεχωριστό στυλ μεταξύ των δύο μπορεί να αποδειχθεί καλύτερη εμπειρία χρήστη σε μια πραγματική περίπτωση χρήσης.
Υποστήριξη προγράμματος περιήγησης
:user-invalid
Προς το παρόν δεν υποστηρίζεται, αλλά προτείνεται στο προσχέδιο εργασίας CSS Selectors Level 4.
Ο Firefox χρησιμοποιεί μια προκαθορισμένη μη τυπική ιδιότητα -moz-ui-invalid
που υιοθετεί παρόμοια πρότυπα.
Σχετιζομαι με
:invalid
:valid
Περισσότερες πληροφορίες
- CSS Selectors Level 4 Προδιαγραφή
- Προδιαγραφή MDN για
:-moz-ui-invalid