Псевдокласс :optional в CSS
Селектор :optional выбирает необязательные элементы.
Элементы формы являются необязательными, если у них не указан атрибут required. К элементам формы, которые можно выбрать с помощью :optional, относятся <input>, <select> и <textarea> без атрибута required.
Селектор :optional можно сочетать с другими селекторами (например, :hover) и псевдоэлементами (например, ::after).
Версия
CSS Basic User Interface Module
Синтаксис
Синтаксис CSS :optional
css
:optional {
css declarations;
}Пример использования селектора :optional:
Пример кода CSS :optional
html
<!DOCTYPE html>
<html>
<head>
<title>Title of the document</title>
<style>
.example {
margin: 40px auto;
max-width: 400px;
}
label,
button {
display: block;
width: 100%;
margin-bottom: 1.5em;
}
input,
select,
button {
padding: .4em 1em;
}
input,
select {
border: 1px solid #666666;
}
input:optional,
select:optional {
background-color: #eeeeee;
color: #666666;
opacity: 0.5;
transition: .3s;
}
input:optional:hover,
select:optional:hover {
opacity: 1;
}
input:required,
textarea:required {
border-bottom: 3px solid #1c87c9;
}
</style>
</head>
<body>
<h2>:optional selector example</h2>
<div class="example">
<form action="#">
<label>
<input type="name" required />Name *
</label>
<label>
<input type="email" required />Email *
</label>
<label>
<input type="phone" />Phone (optional)
</label>
<label>
<input type="url" />Address (optional)
</label>
</form>
</div>
</body>
</html>В приведённом примере используются оба псевдокласс-селектора: :optional и :required.
Практика
Какова функция селекторов optional в CSS?