Це :user-invalid
псевдо-клас CSS, який пропонується в робочому проекті CSS селекторів рівня 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