--- title: ':invalid' slug: 'Web/CSS/:invalid' tags: - Псевдо-классы translation_of: 'Web/CSS/:invalid' ---

{{ CSSRef() }}

Описание

CSS псевдокласс :invalid находит любые {{ HTMLElement("input") }} или {{ HTMLElement("form") }} элементы, контент которых не проходит валидацию, в соответствии с типом поля. Он позволяет вам легко менять внешний вид полей, что позволяет пользователю видеть и исправлять ошибки.

По умолчанию, Gecko не применяет стили к псевдоклассу :invalid. Однако, применяет стили (красное "свечение", используя свойство {{ Cssxref("box-shadow") }}) к псевдоклассу {{ Cssxref(":-moz-ui-invalid") }}, который применяется в подгруппе случаев для :invalid.

Вы можете отключить свечение, используя следующий CSS или полностью изменить внешний вид некорректных полей.

:invalid {
  box-shadow: none;
}

:-moz-submit-invalid {
  box-shadow: none;
}

:-moz-ui-invalid {
  box-shadow:none;
}

Замечания

Радиокнопки

Если любая из радиокнопок в группе (т.е., с одинаковым атрибутом name) имеет атрибут required, псевдокласс :invalid применяется ко всем из них, если ни одна из кнопок группы не выбрана.

Пример

Этот пример представляет собой простую форму, цвета элементов которой зелёные, когда данные корректные, и красные, когда нет.

HTML

<form>
  <label>Введите URL:</label>
  <input type="url" />
  <br />
  <br />
  <label>Введите эл. почту:</label>
  <input type="email" required/>
</form>

CSS

input:invalid {
  background-color: #ffdddd;
}

form:invalid {
  border: 5px solid #ffdddd;
}

input:valid {
  background-color: #ddffdd;
}

form:valid {
  border: 5px solid #ddffdd;
}

input:required {
  border-color: #800000;
  border-width: 3px;
}

{{ EmbedLiveSample('Example2',600,150) }}

Спецификации

Спецификация Статус Комментарий
{{ SpecName('HTML WHATWG', '#selector-invalid', ':invalid') }} {{ Spec2('HTML WHATWG') }} Без изменений.
{{ SpecName('HTML5 W3C', '#selector-invalid', ':invalid') }} {{ Spec2('HTML5 W3C') }} Определяет семантику в HTML и ограничения проверки.
{{ SpecName('CSS4 Selectors', '#validity-pseudos', ':invalid') }} {{ Spec2('CSS4 Selectors') }} Без изменений.
{{ SpecName('CSS3 Basic UI', '#pseudo-validity', ':invalid') }} {{ Spec2('CSS3 Basic UI') }} Определяет псевдокласс, но не семантику.

Поддержка браузерами

{{Compat("css.selectors.invalid")}}

Смотрите также

{{ languages( { "fr": "fr/CSS/:invalid" }) }}