Label checked css: forms — CSS selector for a checked radio button’s label

Использование :checked | WebReference

В общем виде :checked применяется следующим образом (пример 1).

Пример 1. Использование :checked

<!DOCTYPE html> <html> <head> <meta charset=»utf-8″> <title>:checked</title> <style> :checked { border: 2px solid red; /* Параметры рамки */ color: #fff; /* Цвет текста */ background: #333; /* Цвет фона */ } </style> </head> <body> <p><input type=»radio» name=»yesno» checked> Да <input type=»radio» name=»yesno»> Нет</p> <p><input type=»checkbox» checked> Согласен</p> <p><select> <option>Леонардо</option> <option>Рафаэль</option> <option>Донателло</option> <option>Микеланджело</option> </select></p> </body> </html>

В данном примере встречается флажок, переключатель и список <select>. Псевдокласс :checked указан без селектора впереди, поэтому будет применяться ко всем возможным элементам.

Сами поля форм плохо стилизуются, в частности, в Chrome меняется только цвет текста и фона у <option> (рис. 1а), Firefox вообще никак не меняет стиль элементов (рис. 1б).

a. Chromeб. Firefox

Рис. 1. Поля форм в браузере

Чтобы как-то активно использовать :checked идут на хитрость и стилизуют не сам <input>, а элемент <label>. Для этого сразу после <input> вставляем <label> и связываем эти два элемента с помощью одинакового значения у атрибутов id и for (пример 2).

Пример 2. Использование <label>

<input type="checkbox" checked>
<label for="switch">Флажок</label>

Поскольку мы связали между собой эти элементы, то можно щёлкать уже по тексту и флажок будет включаться или выключаться. Теперь <input> и <label> являются смежными элементами, так что в стилях их тоже можно связать между собой.

input[type="checkbox"]:checked + label { … }

Здесь стилевые параметры применяются к элементу <label>, который идёт сразу после элемента <input type=»checkbox»>, и для которого включен флажок. В примере 3 показано использование :checked для изменения цвета текста.

Пример 3. Смежные селекторы

<!DOCTYPE html> <html> <head> <meta charset=»utf-8″> <title>:checked</title> <style> [type=»checkbox»]:checked + label { color: red; /* Красный цвет текста */ } </style> </head> <body> <p><input type=»checkbox» checked> <label for=»switch»>Флажок</label></p> </body> </html>

Результат данного примера показан на рис. 2.

Рис. 2. Стилизация <label>

  • <label>
  • Аккордеон меню
  • Вкладки на CSS
  • Выпадающее меню
  • Подсказка в поле формы
  • Пользовательские формы
  • Псевдокласс :checked
  • Спойлер
  • Стилизация переключателей
  • Стилизация флажков
  • Формы в Bootstrap 4
  • Элемент label

Автор: Влад Мержевич

Последнее изменение: 11. 03.2020

Как стилизовать метку, связанную с выбранным радиовходом и отмеченными флажками, с помощью CSS?

Улучшить статью

Сохранить статью

  • Последнее обновление: 14 мар, 2022

  • Читать
  • Обсудить
  • Улучшить статью

    Сохранить статью

    HTML-код используется для определения радиокнопки. Радиокнопки позволяют пользователю выбрать только один вариант из списка предопределенных параметров. Элементы управления вводом Radio Button создаются с использованием элемента «input» с атрибутом type, имеющим значение «radio».

    В этой статье мы научимся стилизовать метки, связанные с выбранным радио-входом и флажками.

    Синтаксис:

      

    HTML используется для определения поля флажка. Флажок отображается в виде квадратного поля, которое отмечено, когда оно активировано. Это позволяет пользователю выбрать один или несколько вариантов из всех ограниченных вариантов.

    Теперь мы стилизуем метки радиокнопок и флажков.

    Подход

    • Сначала мы выберем class/id из div , в котором используется тег label.
    • Затем используйте синтаксис:
     .className input[type="radio/checkbox"]: checked + label {
        // Какие свойства нужно изменить
    } 

    Пример 1: В этом примере мы будем стилизовать метки переключателей:

    HTML

    < html >

       

    < head >

         < title >Styling Label title >

         < стиль >

             . radioButton input[type="radio"]:checked+label {

    2 6 0 9 00061 цвет фона: зеленый;

                 цвет: белый;

             }

         style >

    head >

       

    < body >

         < раздел класс = "radioButton" >

             < p >Please select your favorite Web language: p >

             < input type = "Радио" ID = "HTML" Имя = "FAV_LAUGLAGE"

    Значение = "HTML" >

    < для = "HTML" для = "HTML" = "HTML" . > < BR > < BR >

    < вход = " = " = "0061 id = "css" name = "fav_language"  

                    value = "CSS" >

             < label for = "css" >CSS label >< br >< br >< br >

             < input type = "radio" id = "javascript" name = "fav_language"  

    Значение = "JavaScript" >

    < лейбл для = "Javascript" = "Javascript" = "" = " = " = " = 0062 >JavaScript label >

         div >

    body >

       

    html >

    Вывод:

    Пример 2: В этом примере мы стилизуем метки флажков.

    HTML

    < html >

       

    < head >

         < title >Styling Label Название >

    < Стиль >

    . Входной коток [Тип = "Checkbox"]: проверка+label {.0062

                

    цвет фона: зеленый;

                 цвет: белый;

             }

         style >

    head >

       

    < body >

         < DIV Класс = «Флажок» >

    < P >, на котором вы можете говорить? < Вход Тип = «Флажок»

    Название = «Проверка» ID = "GFG" . 0061                 value = "1" checked>

             < label > Hindi label >

             < br >

             < ввод тип = "флажок" имя "флажок" 0062 value = "2" >

             < label

    > English label >

             < br >

    DIV >

    Body >

    0061 HTML >

    Выход:


    . selector представляет любое радио ( ), флажок (
    ) или option ( в
    <дел>
    <выбрать имя="мой выбор">
    УСБ
     дел,
    выбирать {
      поле: 8px;
    }
    /* Метки для проверенных входных данных */
    ввод: отмечен + метка {
      красный цвет;
    }
    /* Радиоэлемент, если отмечен */
    ввод [тип = "радио"]: отмечен {
      box-shadow: 0 0 0 3px оранжевый;
    }
    /* Элемент флажка, если он отмечен */
    ввод [тип = "флажок"]: отмечен {
      box-shadow: 0 0 0 3px ярко-розовый;
    }
    /* Элементы option, если они выбраны */
    вариант: отмечен {
      box-shadow: 0 0 0 3px лайм;
      красный цвет;
    }
     
    Результат

    Переключение элементов со скрытым флажком

    В этом примере используется псевдокласс :checked , позволяющий пользователю переключать содержимое в зависимости от состояния флажка без использования JavaScript.

    HTML
     <тип ввода = "флажок" />
    <таблица>
      
        Столбец №1Столбец №2Столбец №3
      
      <тело>
        [дополнительный текст][дополнительный текст][дополнительный текст]
        [текст ячейки][текст ячейки][текст ячейки]
        [текст ячейки][текст ячейки][текст ячейки]
        [дополнительный текст][дополнительный текст][дополнительный текст]
        [дополнительный текст][дополнительный текст][дополнительный текст]
      
    
    
     
    УСБ
     /* Скрыть флажок-переключатель */
    # развернуть-переключить {
      дисплей: нет;
    }
    /* Скрыть расширяемый контент по умолчанию */
    .расширяемый {
      видимость: коллапс;
      фон: #ддд;
    }
    /* Стиль кнопки */
    #expand-btn {
      отображение: встроенный блок;
      поле сверху: 12px;
      отступ: 5px 11px;
      цвет фона: #ff7;
      граница: сплошная 1px;
      радиус границы: 3px;
    }
    /* Показывать скрытое содержимое, когда флажок установлен */
    #expand-toggle:checked ~ * . expandable {
      видимость: видимая;
    }
    /* Стиль кнопки при установленном флажке */
    #expand-toggle:checked ~ #expand-btn {
      цвет фона: #ccc;
    } 
    Результат

    Галерея изображений

    Вы можете использовать псевдокласс :checked для создания галереи изображений с полноразмерными изображениями, которые отображаются только тогда, когда пользователь щелкает миниатюру. См. эту демонстрацию для возможной подсказки.

    Примечание: Аналогичный эффект, но основанный на псевдоклассе :hover и без скрытых переключателей, см. в этой демонстрации, взятой со справочной страницы :hover.

    Технические характеристики

    Спецификация Статус Комментарий
    HTML Living Standard
    Определение ':checked' в этой спецификации.
    Уровень жизни Без изменений.
    HTML5
    Определение ':checked' в этой спецификации.
    Рекомендация Определяет семантику HTML.
    Селекторы Уровень 4
    Определение ':checked' в этой спецификации.
    Рабочий проект Без изменений.
    Селекторы уровня 3
    Определение ':checked' в этой спецификации.
    Рекомендация Определяет псевдокласс, но не связанную с ним семантику

    Совместимость с браузером

    Таблица совместимости на этой странице создана на основе структурированных данных. Если вы хотите внести свой вклад в данные, посетите https://github.com/mdn/browser-compat-data и отправьте нам запрос на включение.

    Desktop Mobile
    Chrome Edge Firefox Internet Explorer Opera Safari Android webview Chrome for Android Firefox for Android Opera for Android Safari на iOS Samsung Internet
    :checked Chrome Полная поддержка 1

    Примечания

    Полная поддержка 1

    Notes

    Notes В macOS стиль элемента не действуют.
    Край Полная поддержка 12

    Примечания

    Полная поддержка 12

    Notes

    Notes В macOS стиль элемента не действуют.
    Firefox Полная поддержка 1

    Примечания

    Полная поддержка 1

    Заметки

    Заметки Из Firefox 56, <опция&rt; Элементы не могут быть стилизованы.
    Notes В macOS стиль элемента не действуют.
    ИЭ Полная поддержка 9 Опера Полная поддержка 9

    Примечания

    Полная поддержка 9

    Notes

    Notes В macOS стиль элемента не действуют.
    Сафари Полная поддержка 3.1

    Примечания

    Полная поддержка 3.1

    Примечания

    Примечания Стиль
    Веб-просмотр Android Полная поддержка 2 Хром Android Полная поддержка 18 Firefox Android Полная поддержка 4

    Примечания

    Полная поддержка 4

    Примечания

    Примечания Из Firefox 56, не могут быть стилизованы.
    Опера Android Полная поддержка 10.

    Добавить комментарий

    Ваш адрес email не будет опубликован. Обязательные поля помечены *