CSS властивості
ГлавнаяВерсткаВикористання :checked

Використання :checked

401

Загалом :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б).

Chrome Firefox
a. Chrome б. Firefox

Мал. 1. Поля форм у браузері

Щоб якось активно використовувати :checked йдуть на хитрість і стилізують не сам < input>, а елемент <label>. Для цього відразу після <input> вставляємо <label> і зв'язуємо ці два елементи за допомогою однакового значення у атрибутів id та for (приклад 2).

Приклад 2. Використання <label> ;

<input type="checkbox" id="switch" 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" id="switch" checked> <label for="switch">Прапорець</label></p>
</body>
</html>

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

Стилізація <label>

Мал. 2. Стилізація <label>

Автор та редактори

Автор: Влад Мержевич
Останнє змінення: 11.03.2020
Редактори: Влад Мержевич