Кратко
СкопированоТег <fieldset> группирует элементы формы (поля ввода <input>, <textarea>, выпадающие списки <select> и другие) в блок с характерным выделением границ. Опционально с помощью тега <legend> внутри <fieldset> можно задать заголовок для создаваемой группы (он может быть только один и обязательно должен идти первым вложенным элементом).
Пример
Скопировано
<form> <fieldset> <legend>Прозвище Дракса из «Стражей Галактики»?</legend> <label> <input type="radio" name="answer" value="Exterminator"> Уничтожитель </label> <label> <input type="radio" name="answer" value="Destroyer"> Разрушитель </label> <label> <input type="radio" name="answer" value="Accuser"> Обвинитель </label> <label> <input type="radio" name="answer" value="Sweet-tooth"> Сладкоежка </label> </fieldset></form>
<form>
<fieldset>
<legend>Прозвище Дракса из «Стражей Галактики»?</legend>
<label>
<input type="radio" name="answer" value="Exterminator">
Уничтожитель
</label>
<label>
<input type="radio" name="answer" value="Destroyer">
Разрушитель
</label>
<label>
<input type="radio" name="answer" value="Accuser">
Обвинитель
</label>
<label>
<input type="radio" name="answer" value="Sweet-tooth">
Сладкоежка
</label>
</fieldset>
</form>
Как понять
СкопированоВ сложных формах количество контролов может устрашающе перегружать интерфейс, и правильным решением в этом случае будет группировка смысловых элементов.
Как пишется
Скопировано
<fieldset>…</fieldset>
<fieldset>…</fieldset>
Для добавления подписи внутри <fieldset> следует использовать <legend>:
<fieldset> <legend>Заголовок для группы</legend> …</fieldset>
<fieldset>
<legend>Заголовок для группы</legend>
…
</fieldset>
Атрибуты
Скопированоdisabled— блокирует все контролы внутри тега (как будто каждому из них указали этот атрибут — очень удобно);form— связывает контролы внутри тега с формой (будто они располагаются внутри) — для этого в значении атрибута следует указать ID формы;- также для
<fieldset>доступны все глобальные атрибуты.
Подсказки
СкопированоВнешний вид оформления рамки по умолчанию у <legend> немного отличается в зависимости от браузера и операционной системы:
На практике
Скопированосоветует
Скопировано🛠 Чтобы убрать (или стилизовать рамку), используется семейство CSS-свойств border: border, border и другие: