--- 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 применяется ко всем из них, если ни одна из кнопок группы не выбрана.
Этот пример представляет собой простую форму, цвета элементов которой зелёные, когда данные корректные, и красные, когда нет.
<form> <label>Введите URL:</label> <input type="url" /> <br /> <br /> <label>Введите эл. почту:</label> <input type="email" required/> </form>
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" }) }}