Стилізація перемикачів відбувається аналогічно стилізації прапорців — ми приховуємо вихідний елемент <input>, а замість нього стилізуємо елемент, що йде в коді HTML після <input>. При цьому обов'язково використовуємо <label>, без якого поведінка перемикача не працюватиме. Оскільки перемикачі зазвичай вставляються групою, то зв'язувати <input> з <label> через ідентифікатор не дуже зручно через те , що доведеться вводити безліч ідентифікаторів Так що зробимо інакше — вставимо <input> всередину <label>, а після <input> додамо елемент <span>.
<code data-language="html"><label><input type="radio"><span></span></label>
Вигляд самого перемикача ми задаємо через селектор span, а вид вибраного перемикача через селектор :checked+span. У прикладі 1 показано створення круглого перемикача з білою точкою по центру.
Приклад 1. Стилізація перемикача
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Перемикачі</title> <style> .radio input { display: none; /* Ховаємо вихідний перемикач */
}
.radio span {position: relative; /* Відносне позиціонування */
display: inline-block; /* Рядково-блоковий елемент */
width: 20px; height: 20px; /* Розміри */
background: #F5F5F5; /* Сірий колір фону */
border-radius: 50%; /* Круглий перемикач */
box-shadow: inset 0 0 5px rgba(0,0,0,0.5); /* Тінь всередині */
}
.radio input:checked + span { background: #F44336; /* Червоний колір фону */
}
/* Додаємо білу точку по центру */
.radio input:checked + span::before { content: ''; position: absolute; left: 6px; top: 6px; background: #fff; width: 8px; height: 8px; border-radius: 50%; }
</style>
</head>
<body> <p>Вкажіть вашу підлогу:</p> <p><label class="radio"><input type="radio" name="g" checked><span></span> Чоловічий</label> <label class="radio"><input type="radio" name="g"><span></span> Жіночий</label> <label class="radio"><input type="radio" name="g"><span></span> Не скажу</label></p>
</body>
</html>Результат цього прикладу показаний на рис. 1. Елемент <span> робимо квадратним, а потім перетворюємо на коло через властивість border-radius з значенням 50%. Для краси додаємо внутрішню тінь за допомогою box-shadow та значенням inset. Остаточно з'єднуємо псевдоклас :checked та псевдоелемент ::before для відображення білої точки у вибраного перемикача.

Мал. 1. Вигляд перемикача
Див. також
- <input>
- <label>
- Акордеон меню
- Вкладки на CSS
- Випадаюче меню
- Вирівнювання елементів форм
- Завантаження файлів
- Використання :checked
- Кнопки
- Кнопки
- Надсилання даних форми
- Перемикачі
- Перемикачі
- Підказка у полі форми
- Поле для введення пароля
- Поле для пароля
- Користувацькі форми
- Побудова форм
- Псевдоклас :checked
- Приховане поле
- Спойлер
- Стилізація прапорців
- Божевільні форми
- Текстове поле
- Текстове поле
- Прапорки
- Прапорці
- Форми в Bootstrap 4
- Форми в HTML
- Елемент label
