:required
Селектор псевдо - класу в CSS дозволяє авторам вибирати і стиль будь-якого узгодженого елемент з required
атрибутом. Форми можуть легко вказати, в яких полях повинні бути дійсні дані перед поданням форми, але дозволяє користувачеві уникнути очікування, оскільки сервер є єдиним валідатором введення даних користувача.
Скажімо, у нас є вхідні дані з атрибутом type="name"
і роблять його необхідним введенням, використовуючи required
логічний атрибут 1 :
Тепер ми можемо стилізувати це введення за допомогою :required
селектора псевдо класу:
/* style all elements with a required attribute */ :required ( background: red; )
Ми також можемо стилізувати необхідні поля форми за допомогою простих селекторів, а також об’єднавши додаткові селектори псевдокласу:
/* style all input elements with a required attribute */ input:required ( box-shadow: 4px 4px 20px rgba(200, 0, 0, 0.85); ) /** * style input elements that have a required * attribute and a focus state */ input:required:focus ( border: 1px solid red; outline: none; ) /** * style input elements that have a required * attribute and a hover state */ input:required:hover ( opacity: 1; )
Демо
Дивіться Pen: необхідний стиль Кріса Койєра (@chriscoyier) на CodePen.
Цікаві місця
required
Атрибут трактуються як логічне значення означає , що він не вимагає значень. Просто наявність required
елемента дозволяє браузеру знати, що цей атрибут існує, і відповідний ввід насправді є обов’язковим полем. Хоча, згідно специфікації W3C, необхідний атрибут також працює з порожнім значенням або значенням з іменем атрибутів.
Необхідний атрибут також вимагає, щоб браузер використовував власні виноски, такі як міхур, зображений на демонстрації.
Для тих входів, які не стилізовані з використанням :required
, автори можуть також налаштувати непотрібні елементи, використовуючи :optional
селектор псевдо-класу разом із :invalid
і :valid
які запускаються, коли задовольняються вимоги до даних форми поля.
Валідацію форми можна також доповнити разом required
з pattern
атрибутом, щоб допомогти фільтрувати дані залежно від type
атрибута вводу . Шаблони можна записати як регулярний вираз або рядок. У наведеному нижче прикладі ми використовуємо регулярний вираз для узгодження синтаксису адреси електронної пошти.
:required
Атрибут працює на радіо - кнопок. Якщо ви встановите потрібну кнопку на одну перемикач (або всі), потрібна буде саме ця група перемикачів. На прапорцях робить кожен окремий прапорець обов’язковим (для перевірки).
Підтримка браузера
Дані про підтримку веб-переглядача подані компанією Caniuse, яка містить більше деталей. Цифра вказує на те, що браузер підтримує цю функцію на цій версії та вище.
Робочий стіл
Chrome | Firefox | IE | Край | Сафарі |
---|---|---|---|---|
10 | 4 | 10 | 12 | 10.1 |
Мобільний / планшетний
Android Chrome | Android Firefox | Android | iOS Safari |
---|---|---|---|
88 | 85 | 4.4.3-4.4.4 | 10.3 |
1 Логічні атрибути . Ряд атрибутів у HTML5 є логічними атрибутами. Наявність булевого атрибута в елементі представляє справжнє значення, а відсутність атрибута - хибне значення. Якщо атрибут присутній, його значення має бути або порожнім рядком, або значенням, яке не враховує регістр канонічного імені атрибута, без пробілів, що ведуть або відстають.