Интерфейс веб-сайтов и веб-приложений играет важную роль в общем пользовательском опыте. Один из важных элементов этого интерфейса — это стилизованные радиокнопки и чекбоксы. В этой статье мы рассмотрим, как с помощью простого CSS можно преобразить стандартные HTML-элементы в стильные и кастомизированные кнопки, сделав ваш веб-проект более привлекательным и интуитивно понятным для пользователей. В данной статье рассмотрим как стилизовать checkbox и radio кнопки используя простой код на CSS.
Как стилизовать checkbox и radio?
Для начала создадим контекст для нашей кнопки
label {
position: relative;
}
Далее добавим базовые стили для обеих типов кнопок
input[type="radio"],
input[type="checkbox"] {
appearance: none;
background: #fff;
border: 2px solid #415674;
height: 1.5em;
width: 1.5em;
border-radius: 100%;
vertical-align: text-bottom;
position: relative;
}
Убираем округлость для чекбокса
input[type="checkbox"] {
border-radius: 0;
}
Добавляем общие стили для псевдо-элементов обоих кнопок.
input[type="radio"]::before,
input[type="checkbox"]::before {
content: "";
position: absolute;
margin: auto;
left: 0;
right: 0;
bottom: 0;
overflow: hidden;
top: 0;
}
Теперь стилизуем центральный элемент радиокнопки
input[type="radio"]:checked::before {
border: 5px solid transparent;
border-radius: 100%;
background: #4b83fc;
margin: 4px;
}
А теперь стилизуем значок чекбокса
input[type="checkbox"]:checked::before {
border-right: 5px solid #4b83fc;
border-bottom: 6px solid #4b83fc;
height: 90%;
width: 30%;
transform: rotate(50deg) translateY(-20%) translateX(-10%);
}
По желанию можно добавить стили при фокусу для лучшей видимости.
input[type="radio"]:focus,
input[type="checkbox"]:focus {
outline: solid 1px;
outline-offset: 2px;
}
С полной версией можно ознакомиться в демо примере.
See the Pen Custom Radio Buttons and Checkboxes with CSS by Alexandr Sochirca (@alexandr-sochirca) on CodePen.
Заключение
С помощью простого CSS и немного творчества вы можете значительно улучшить визуальное восприятие ваших веб-проектов. Кастомизированные радиокнопки и чекбоксы — это всего лишь один из аспектов, который может сделать ваш интерфейс более привлекательным и интуитивно понятным для пользователей. Экспериментируйте с дизайном, подстраивайте его под свои потребности и не забывайте о важности юзабилити. Мы надеемся, что данная статья поможет вам в этом процессе и вдохновит на создание стильных и удобных веб-интерфейсов.