Это :user-invalid
псевдокласс CSS, который предлагается в рабочем проекте 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-селекторов уровня 4
- Спецификация MDN для
:-moz-ui-invalid