Кратко
СкопированоПсевдокласс :required
, дополняющий основной селектор, поможет выбрать элементы <input>
, <textarea>
или <select>
, у которых задан атрибут required
.
Пример
СкопированоОбязательное для заполнения поле ввода будет иметь оранжевую обводку и фоновый цвет:
<form> <div class="form-row"> <label for="first_name">Имя</label> <input type="text" id="first_name" required> </div> <div class="form-row"> <label for="last_name">Фамилия</label> <input type="text" id="last_name"> </div></form>
<form> <div class="form-row"> <label for="first_name">Имя</label> <input type="text" id="first_name" required> </div> <div class="form-row"> <label for="last_name">Фамилия</label> <input type="text" id="last_name"> </div> </form>
input:required { border-width: 2px; border-color: #FF8630; background-color: rgb(255 134 48 / 0.1);}
input:required { border-width: 2px; border-color: #FF8630; background-color: rgb(255 134 48 / 0.1); }
Как понять
СкопированоЕсли нужно как-то выделить обязательные для заполнения элементы форм, можно использовать в селекторе псевдокласс :required
.
На практике
Скопированосоветует Скопировано
🛠 Как правило, в реальных формах обязательные к заполнению поля выделяют не так явно, как в примере выше. Обычно после текстового описания обязательного поля ставят звёздочку. В примере ниже, кроме того, показано, как можно стилизовать подсказку к полю.
<form> <div class="form-row"> <label class="label-required" for="first_name">Имя</label> <input type="text" id="first_name" required> <span class="hint">Обязательно к заполнению</span> </div> <div class="form-row"> <label for="last_name">Фамилия</label> <input type="text" id="last_name"> <span class="hint">Необязательно</span> </div></form>
<form> <div class="form-row"> <label class="label-required" for="first_name">Имя</label> <input type="text" id="first_name" required> <span class="hint">Обязательно к заполнению</span> </div> <div class="form-row"> <label for="last_name">Фамилия</label> <input type="text" id="last_name"> <span class="hint">Необязательно</span> </div> </form>
.label-required::after { content: "*"; font-size: 0.7em;}.hint { color: #FFFFFF;}input:required + .hint { color: #2E9AFF;}
.label-required::after { content: "*"; font-size: 0.7em; } .hint { color: #FFFFFF; } input:required + .hint { color: #2E9AFF; }