Псевдокласс :optional

Применяет стилевые правила к элементу <input>, у которого не задан атрибут required, он позволяет выделять поля обязательные к заполнению перед отправкой формы. Таким образом :optional применяется к необязательным полям формы.

Синтаксис

input:optional { ... }
Описание Пример
<тип> Указывает тип значения. <размер>
A && B Значения должны выводиться в указанном порядке. <размер> && <цвет>
A | B Указывает, что надо выбрать только одно значение из предложенных (A или B). normal | small-caps
A || B Каждое значение может использоваться самостоятельно или совместно с другими в произвольном порядке. width || count
[ ] Группирует значения. [ crop || cross ]
* Повторять ноль или больше раз. [,<время>]*
+ Повторять один или больше раз. <число>+
? Указанный тип, слово или группа не является обязательным. inset?
{A, B} Повторять не менее A, но не более B раз. <радиус>{1,4}
# Повторять один или больше раз через запятую. <время>#

Пример

<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>:optional</title> <style> input:optional { opacity: 0.5; /* Полупрозрачность */ } </style> </head> <body> <form action="handler.php"> <p>Пожалуйста, укажите ваше имя и возраст.</p> <p>Имя: <input name="name"></p> <p>Возраст: <input type="number" min="18" required name="old"></p> <p><input type="submit" value="Отправить"></p> </form> </body> </html>

В данном примере необязательное текстовое поле делается полупрозрачным с помощью свойства opacity.

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

Спецификация Статус
WHATWG HTML Living Standard Живой стандарт
HTML5 Возможная рекомендация
Selectors Level 4 Рабочий проект
CSS Basic User Interface Module Level 3 Рабочий проект

Браузеры

9 12 10 10 5 4
4 4 10 5

В таблице браузеров применяются следующие обозначения.

  • — элемент полностью поддерживается браузером;
  • — элемент браузером не воспринимается и игнорируется;
  • — при работе возможно появление различных ошибок, либо элемент поддерживается с оговорками.

Число указывает версию браузреа, начиная с которой элемент поддерживается.