логотип PurpleSchool
логотип PurpleSchool

Псевдокласс checked в CSS. Полное руководство с примерами

Автор

Дмитрий Нечаев

Псевдокласс :checked в CSS используется для стилизации элементов формы, таких как чекбоксы (<input type="checkbox">) и радиокнопки (<input type="radio">), когда они находятся в состоянии "выбрано". Это позволяет изменить внешний вид этих элементов и связанных с ними элементов на основании их состояния. В этой статье мы подробно рассмотрим псевдокласс :checked, его применение и приведём примеры использования для различных ситуаций.

Что такое псевдокласс :checked?

Псевдокласс :checked применяется к элементам формы, которые находятся в состоянии "выбрано". Это означает, что данный псевдокласс будет активирован для чекбоксов и радиокнопок, когда они помечены как выбранные пользователем.

Пример базового использования :checked:

input:checked {
  /* Стили для выбранных элементов */
}

Пример использования псевдокласса :checked для изменения фона чекбокса:

input[type="checkbox"]:checked {
  background-color: lightblue;
}

В этом примере фон выбранного чекбокса будет светло-голубым.

Примеры использования псевдокласса :checked

Основные примеры

Стилизация чекбоксов

Пример:

<!DOCTYPE html>
<html lang="ru">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <style>
    input[type="checkbox"]:checked {
      background-color: lightblue; /* Изменение фона выбранного чекбокса */
    }
  </style>
  <title>Стилизация чекбоксов</title>
</head>
<body>
  <label>
    <input type="checkbox">
    Выберите меня
  </label>
</body>
</html>

В этом примере фон выбранного чекбокса будет светло-голубым.

Стилизация радиокнопок

Пример:

<!DOCTYPE html>
<html lang="ru">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <style>
    input[type="radio"]:checked {
      background-color: lightgreen; /* Изменение фона выбранной радиокнопки */
    }
  </style>
  <title>Стилизация радиокнопок</title>
</head>
<body>
  <label>
    <input type="radio" name="option">
    Вариант 1
  </label>
  <br>
  <label>
    <input type="radio" name="option">
    Вариант 2
  </label>
</body>
</html>

В этом примере фон выбранной радиокнопки будет светло-зелёным.

Сложные примеры

Изменение стиля связанных элементов

Псевдокласс :checked можно использовать для изменения стиля связанных элементов, таких как метки (<label>).

Пример:

<!DOCTYPE html>
<html lang="ru">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <style>
    input[type="checkbox"]:checked + label {
      color: red; /* Изменение цвета текста метки при выборе чекбокса */
    }
  </style>
  <title>Изменение стиля связанных элементов</title>
</head>
<body>
  <input type="checkbox" id="checkbox1">
  <label for="checkbox1">Выберите меня</label>
</body>
</html>

В этом примере цвет текста метки изменится на красный, когда чекбокс будет выбран.

Стилизация переключателей

Создание переключателя с использованием псевдокласса :checked.

Пример:

<!DOCTYPE html>
<html lang="ru">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <style>
    .switch {
      position: relative;
      display: inline-block;
      width: 60px;
      height: 34px;
    }

    .switch input {
      opacity: 0;
      width: 0;
      height: 0;
    }

    .slider {
      position: absolute;
      cursor: pointer;
      top: 0;
      left: 0;
      right: 0;
      bottom: 0;
      background-color: #ccc;
      transition: 0.4s;
    }

    .slider:before {
      position: absolute;
      content: "";
      height: 26px;
      width: 26px;
      left: 4px;
      bottom: 4px;
      background-color: white;
      transition: 0.4s;
    }

    input:checked + .slider {
      background-color: #2196F3;
    }

    input:checked + .slider:before {
      transform: translateX(26px);
    }

    .slider.round {
      border-radius: 34px;
    }

    .slider.round:before {
      border-radius: 50%;
    }
  </style>
  <title>Стилизация переключателей</title>
</head>
<body>
  <label class="switch">
    <input type="checkbox">
    <span class="slider round"></span>
  </label>
</body>
</html>

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

Использование в реальных проектах

Стилизация списка задач

Использование псевдокласса :checked для стилизации выполненных задач в списке.

Пример:

<!DOCTYPE html>
<html lang="ru">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <style>
    ul {
      list-style-type: none;
      padding: 0;
    }

    li {
      padding: 10px;
      margin-bottom: 5px;
      background-color: #f9f9f9;
      border: 1px solid #ddd;
      border-radius: 3px;
      transition: background-color 0.3s, text-decoration 0.3s;
    }

    input[type="checkbox"]:checked + li {
      background-color: lightgreen; /* Изменение фона выполненной задачи */
      text-decoration: line-through; /* Перечёркивание текста выполненной задачи */
    }

    input[type="checkbox"] {
      display: none;
    }
  </style>
  <title>Список задач</title>
</head>
<body>
  <ul>
    <input type="checkbox" id="task1">
    <label for="task1"><li>Задача 1</li></label>
    <input type="checkbox" id="task2">
    <label for="task2"><li>Задача 2</li></label>
    <input type="checkbox" id="task3">
    <label for="task3"><li>Задача 3</li></label>
  </ul>
</body>
</html>

В этом примере выполненные задачи будут отмечаться зелёным фоном и перечёркиваться.

Стилизация формы выбора

Использование псевдокласса :checked для стилизации выбранных элементов формы.

Пример:

<!DOCTYPE html>
<html lang="ru">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <style>
    .option {
      display: inline-block;
      padding: 10px 20px;
      margin: 5px;
      border: 2px solid #ccc;
      border-radius: 5px;
      cursor: pointer;
      transition: border-color 0.3s, background-color 0.3s;
    }

    input[type="radio"]:checked + .option {
      border-color: #007bff; /* Изменение цвета границы выбранной опции */
      background-color: #e2e6ea; /* Изменение фона выбранной опции */
    }

    input[type="radio"] {
      display: none;
    }
  </style>
  <title>Стилизация формы выбора</title>
</head>
<body>
  <form>
    <input type="radio" id="option1" name="options">
    <label for="option1" class="option">Вариант 1</label>
    <input type="radio" id="option2" name="options">
    <label for="option2" class="option">Вариант 2</label>
    <input type="radio" id="option3" name="options">
    <label for="option3" class="option">Вариант 3</label>
  </form>
</body>
</html>

В этом примере выбранные опции формы будут выделяться с помощью изменённых фона и границы.

Заключение

Псевдокласс :checked в CSS предоставляет мощный способ для стилизации элементов формы на основании их состояния "выбрано". Это улучшает взаимодействие пользователя с веб-страницей, делая её более интерактивной и интуитивно понятной. Понимание различных способов использования псевдокласса :checked, а также его комбинирование с другими селекторами и псевдоклассами, помогает разработчикам создавать гибкие и адаптивные стили. Экспериментируйте с различными подходами и находите оптимальные решения для ваших проектов.

Стрелочка влевоПсевдоклассы группы child в CSS. Полное руководство с примерамиПсевдокласс active в CSS. Полное руководство с примерамиСтрелочка вправо

Все гайды по Css

Полное руководство по использованию свойства will-change в CSSПолное руководство по свойству transform-style в CSSУправление точкой опоры трансформаций в CSS с помощью transform-originИспользование функций CSS-трансформации; Полное руководствоПолное руководство по свойству transform-box в CSSУправление элементами с помощью свойства transform в CSSПолное руководство по свойству perspective-origin в CSSПолное руководство по свойству perspective в CSSПолное руководство по свойству backface-visibility в CSS
Универсальный селектор в CSS. Полное руководство с примерамиСелектор по тегу в CSS. Полное руководство с примерамиПеречисление селекторов в CSS. Полное руководство с примерамиСелектор потомка в CSS. Полное руководство с примерамиСелектор по идентификатору в CSS; Полное руководство с примерамиКомбинированные селекторы в CSS; Полное руководство с примерамиСелектор по классу в CSS; Полное руководство с примерамиСелектор по атрибуту в CSS; Полное руководство с примерами
Псевдокласс selection. Полное руководство с примерамиПсевдоэлементы в CSS. Полное руководство с примерамиПсевдоэлемент placeholder в CSS. Полное руководство с примерамиПсевдоэлемент marker в CSS. Полное руководство с примерамиПсевдоэлемент first-line в CSS. Полное руководство с примерамиПсевдоэлемент first-letter в CSS. Полное руководство с примерамиСвойство content в CSS. Полное руководство с примерамиПсевдоэлемент before в CSS. Полное руководство с примерамиПсевдоэлемент backdrop в CSS. Полное руководство с примерамиПсевдоэлемент after в CSS. Полное руководство с примерами
Псевдокласс where в CSS. Полное руководство с примерамиПсевдокласс visited в CSS. Полное руководство с примерамиПсевдоклассы группы type в CSS. Полное руководство с примерамиПсевдокласс target в CSS. Полное руководство с примерамиПсевдокласс root в CSS. Полное руководство с примерамиПсевдокласс required в CSS. Полное руководство с примерамиПсевдоклассы в CSS. Полное руководство с примерамиПсевдокласс placeholder-shown в CSS. Полное руководство с примерамиПсевдокласс optional в CSS. Полное руководство с примерамиПсевдокласс not в CSS. Полное руководство с примерамиПсевдокласс link в CSS. Полное руководство с примерамиПсевдокласс lang в CSS. Полное руководство с примерамиПсевдокласс is в CSS. Полное руководство с примерамиПсевдоклассы invalid и valid в CSS. Полное руководство с примерамиПсевдокласс indeterminate в CSS. Полное руководство с примерамиПсевдоклассы in-range и out-of-range. Полное руководство с примерамиПсевдокласс hover в CSS. Полное руководство с примерамиПсевдокласс has в CSS. Полное руководство с примерамиПсевдокласс focus-within в CSS. Полное руководство с примерамиПсевдокласс focus-visible в CSS. Полное руководство с примерамиПсевдокласс focus в CSS. Полное руководство с примерамиПсевдокласс empty в CSS. Полное руководство с примерамиПсевдоклассы disabled и enabled в CSS. Полное руководство с примерамиПсевдокласс default в CSS. Полное руководство с примерамиПсевдоклассы группы child в CSS. Полное руководство с примерамиПсевдокласс checked в CSS. Полное руководство с примерамиПсевдокласс active в CSS. Полное руководство с примерами
Функция var в CSS. Полное руководство с примерамиФункция url в CSS. Полное руководство с примерамиФункция repeating-radial-gradient в CSS. Полное руководство с примерамиФункция repeating-linear-gradient в CSS. Полное руководство с примерамиФункция repeating-conic-gradient в CSS. Полное руководство с примерамиФункция radial-gradient в CSS. Полное руководство с примерамиФункция min в CSS. Полное руководство с примерамиФункция max в CSS. Полное руководство с примерамиФункция linear-gradient в CSS. Полное руководство с примерамиФункция image-set в CSS. Полное руководство с примерамиФункции фильтров в CSS. Полное руководство с примерамиФункция conic-gradient в CSS. Полное руководство с примерамиФункция clamp в CSS. Полное руководство с примерамиФункция calc в CSS. Полное руководство с примерамиФункция attr в CSS. Полное руководство с примерами
Вендорные префиксы в CSS. Полное руководство с примерамиКонтекст наложения в CSS. Полное руководство с примерамиСпецифичность в CSS. Полное руководство с примерамиПодход «Pixel Perfect» в верстке сайтов. Полное руководство с примерамиНаследование в CSS. Полное руководство с примерамиCSS-правило. Полное руководство с примерамиКомментарии в CSS. Полное руководство с примерамиПринцип каскада в CSS. Полное руководство с примерамиБлочная модель в CSS. Полное руководство с примерамиСвойство all в CSS. Полное руководство с примерамиПодключение стилей к HTML. Полное руководство с примерами
Полное руководство по свойству will-change в CSSПолное руководство по transition-timing-function в CSSОсновы использования transition-property в CSS; управление плавными переходамиCSS transition-duration; Полное руководство по управлению продолжительностью переходовCSS transition-delay; Полное руководство по управлению задержкой переходовCSS transition; Полное руководство по созданию плавных переходовCSS @keyframes; Полное руководство по созданию анимацийCSS animation-timing-function; Полное руководство по управлению проигрыванием анимацийCSS animation-play-state; Полное руководство по управлению анимациямиCSS animation-name; Полное руководство по заданию имени анимацииCSS animation-iteration-count; Полное руководство по управлению количеством повторений анимацииCSS animation-fill-mode; Полное руководство по управлению состоянием элементов после анимацииCSS animation-duration; Полное руководство по управлению длительностью анимацииCSS animation-direction; Полное руководство по управлению направлением анимацииCSS animation-delay; Полное руководство с примерамиCSS-анимации; Полное руководство с примерами
Открыть базу знаний