HTML и CSS с примерами кода
Тег <label>
(от англ. label — метка, ярлык) устанавливает связь между определённой меткой, в качестве которой обычно выступает текст, и элементом формы (<input>
, <select>
, <textarea>
).
Такая связь необходима, чтобы изменять значения элементов формы при щелчке курсором мыши на текст. Кроме того, с помощью <label>
можно устанавливать горячие клавиши на клавиатуре и переходить на активный элемент подобно ссылкам.
Существует два способа связывания объекта и метки. Первый заключается в использовании идентификатора id
внутри элемента формы и указании его имени в качестве атрибута for
элемента <label>
. При втором способе элемент формы помещается внутрь контейнера <label>
.
- button
- datalist
- fieldset
- form
- input
- legend
- meter
- optgroup
- option
- output
- progress
- select
- textarea
Синтаксис
<input /><label for="<идентификатор>" >Текст</label > <label><input /> Текст</label>
Закрывающий тег обязателен.
Атрибуты
for
- Идентификатор элемента, с которым следует установить связь.
Также для этого элемента доступны универсальные атрибуты.
for
Задаёт уникальный идентификатор, определяемый с помощью атрибута id
элемента <input>
, с которым следует установить связь. Атрибут for
необходимо задавать в том случае, когда элемент формы и текст разделены. Если <input>
размещается внутри контейнера <label>
, то применять атрибут for
не требуется.
Синтаксис
<label for="<идентификатор>">...</label>
Значения
Имя идентификатора. Такое имя чувствительно к регистру, поэтому его следует писать так же, как оно описано внутри элемента <input>
.
Значение по умолчанию
Нет.
Спецификации
- WHATWG HTML Living Standard
- HTML 5
- HTML 4. 01 Specification
Описание и примеры
<!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <title>LABEL</title> </head> <body> <form action="handler.php"> <p><b>Выберите напиток</b></p> <p> <input type="checkbox" /><label for="check1" >Коньяк</label ><br /> <input type="checkbox" /><label for="check2" >Арманьяк</label ><br /> <input type="checkbox" /><label for="check3" >Кальвадос</label ><br /> </p> </form> </body> </html>
Ссылки
- Тег
<label>
MDN (рус.)
Подключить свой .css файл для содержимого label — Вопросы и проблемы
urjadovaa (Andrey Urjadov)
#1
Коллеги, добрый день!
Такая ситуация.
Сервис возвращает набор данных в виде куска html (без header).
Далее высвечиваем этот html в label:
<scrollBox> <label css="modules/web/themes/infocenterTheme/dossier.css" htmlEnabled="true" /> </scrollBox>
Подключаем отдельный css-файл для декорации полученного куска html.
Получаем сообщение “некорректная строка css…”
Подскажите, может быть мы не там размещаем файл css? Или указываем не тот путь?
Или, возможно, нужно подключить css непосредственно в html?
jreznot (Yuriy Artamonov)
#2
в XML компонентов css
атрибут это не файл, а код на языке CSS
urjadovaa (Andrey Urjadov)
#3
Юрий, спасибо!
Тогда возможен такой путь: прописать в html ссылку на css-файл, который будет размещен где-нибудь в проекте? И если да, куда его лучше положить?
jreznot (Yuriy Artamonov)
#4
Для того, чтобы просто назначить CSS класс на компонент, воспользуйтесь свойством stylename
https://doc.cuba-platform.com/manual-7.2-ru/gui_Label.html
https://doc.cuba-platform.com/manual-7.2-ru/web_theme_extension.html
urjadovaa (Andrey Urjadov)
#5
Может, я плохо объясняю… Как подключать css-классы к компоненту понятно; подключаем и используем.
Я описываю случай, когда в компонент приходит целый html-файл со сложной структурой (допустим, страничка сайта). И вот для этого html-файла нужно назначить не отдельный css-класс, а целый набор css-классов (возможно, описанный в отдельном css-файле).
sergeevms.33 (Михаил Сергеев)
#6
Возможно, что я тоже плохо понимаю, что вы хотите, но если задача подцепить css для отдельного экрана, то ее можно решать таким образом:
ScreenDependencyUtils.addScreenDependency(this, "vaadin://brand-login-screen/login.css", Dependency. Type.STYLESHEET)
Подсмотрено в контроллере расширенного логин-экрана.
jreznot (Yuriy Artamonov)
#7
Если вы смогли назначить на корневой компонент stylename, например root
, то потом просто пишите CSS с учётом иерархии, CSS для того и придумывали:
.root .child { // style-here }
А в SCSS ещё проще:
.root { .child1 {} .child2 {} }
1 симпатия
CSS — Селектор метки для типа?
спросил
Изменено 9 лет, 5 месяцев назад
Просмотрено 24к раз
Я использую этот пост, объясняющий, как добавить селектор метки для данного элемента. Однако я хотел бы использовать его для выбора всех меток для данного типа (в частности, радио типа). Попытка:
метка[for=input[type="radio"]] { /* Стили */ }
и
ярлык[for=[type="radio"]] { /* Стили */ }
не работает, и я не уверен, что я делаю неправильно или как сделать это правильно. Может ли кто-нибудь объяснить мне решение? Спасибо много!
- css
- css-селекторы
К сожалению, то, что вы хотите, невозможно сделать с помощью текущих селекторов CSS3.
Планируется, что эта функция будет включена в селекторы CSS уровня 4, но спецификация для этого еще не завершена и, конечно же, не реализована ни в одном из текущих браузеров.
Идея состоит в том, чтобы селектор выглядел примерно так:
label /for/ [type="radio"] { /* стили */ }
Но это на будущее, а не сейчас. Извиняюсь.
Вы можете прочитать об этом здесь: http://css4-selectors. com/selector/css4/reference-combination/
Тем временем, если вам нужны такие вещи, вам нужно убедиться, что вы структурируете свой HTML таким образом, чтобы элементы могли ссылаться друг на друга с помощью текущих селекторов CSS.
Например, если они находятся рядом друг с другом, вы можете использовать это:
label + input[type="radio"] { .... }
Пока это максимально близко.
1
Вместо этого вы должны использовать специальные классы для этих меток. Вы не можете стилизовать родительский элемент на основе его дочерних атрибутов в CSS [в настоящее время].
В вашей таблице стилей будет указано
метка.радио{ /* добавьте сюда стили */ }
Сначала — исправление
Атрибут для
должен быть привязан только к id
элемента формы, с которым он связан, поэтому вы неправильно используете атрибут для того, что вы пытаетесь сделать. Дизайн для
заключается в том, чтобы связать его с одним конкретным элементом в форме. Что-то вроде этого:
Таким образом, для
не является решением простой проверки типа
.
Второе — единственное решение только для CSS
Единственный чистый способ сделать это с помощью чистого CSS — это если ваши элементы упорядочены таким образом ( label
после input
):
Что позволяет этому css выбирать:
input[type=radio] + label { /* стили */ }
Если это невозможно, я бы выбрал решение AbsoluteƵERØ с использованием класса.
То, что вы пытаетесь сделать, невозможно (во всяком случае, только с помощью CSS). Синтаксис [атрибут=значение]
работает, проверяя значение атрибута для этого конкретного элемента. Таким образом, for=[type="radio"]]
ищет что-то вроде
(если синтаксис допустим).
2
Попробуйте это:
input[type=radio] { CSS идет сюда }
2
Зарегистрируйтесь или войдите в систему
Зарегистрируйтесь с помощью Google
Зарегистрироваться через Facebook
Зарегистрируйтесь, используя электронную почту и пароль
Опубликовать как гость
Электронная почта
Обязательно, но не отображается
Опубликовать как гость
Электронная почта
Требуется, но не отображается
Есть ли способ установить стиль CSS для метки определенного типа ввода?
Задавать вопрос
спросил
Изменено 5 лет, 4 месяца назад
Просмотрено 17 тысяч раз
У меня есть следующий набор стилей для меток определенной формы:
#incidentForm label { вес шрифта: полужирный; ширина:40%; вертикальное выравнивание: сверху; }
Это именно то, что я хочу для своей полностраничной формы. Но для модального окна, которое позволяет обновлять одно поле из отчета, где кто-то будет просматривать результаты данных, я бы хотел, чтобы метка ТОЛЬКО ДЛЯ ТЕКСТОБЛАСТИ НЕ ограничивалась «шириной: 40%». Все другие типы ввода должны сохранять «ширину: 40%».
Я пытался понять, как сделать исключение :NOT для существующего стиля метки или как-то установить отдельный стиль на основе класса модального окна. IE:
Метка .updateModal (которая каким-то образом идентифицирует только текстовые области) { ширина:100%; }
Вот пример структуры самого модального окна обновления:
<дел> <дел>поля> форма>