Стилизация чекбоксов и радиокнопок на чистом CSS
  • 1576 просмотров
  • 0 комментариев
  • 04.11.2015 в 13:20
  • ILNUROFF
Стилизация чекбоксов и радиокнопок на чистом CSS
Этот материал может показаться вам старым как мир, но поверьте он стоит того чтобы его прочитать и взять себе на вооружение своего сайта. Суть его заключается в изменении стандартного вида элементов CheckBox и Radio которые на практике используются в интернет магазинах и прочих функциональных сайтах.

Этот скрипт нужно ставить только в таблица стилей CSS чтобы вид применялся сразу для всех элементов на вашем сайте.

Cначала обозначаем стили для IE8 и более старых версий. Здесь мы немного облагораживаем стандартный CheckBox.
Код
input[type=checkbox] {
vertical-align: top;
margin: 0 3px 0 0;
width: 17px;
height: 17px;
}


Следующий код используется для всех браузеров, кроме совсем старых, которые не поддерживают селекторы с плюсом. Показываем, что label кликабелен.
Код
input[type=checkbox] + label {
cursor: pointer;
}


Далее идет оформление CheckBox в современных браузерах, а также IE9 и выше. Благодаря тому, что старые браузеры не поддерживают селекторы :not и :checked, в них все нижеследующие стили не сработают.

Прячем оригинальный CheckBox.
Код
input[type=checkbox]:not(checked) {
position: absolute;
opacity: 0;
}
input[type=checkbox]:not(checked) + label {
position: relative; /* будем позиционировать псевдочекбокс относительно label */
padding: 0 0 0 60px; /* оставляем слева от label место под псевдочекбокс */
}


Оформление первой части CheckBox в выключенном состоянии (фон).
Код
input[type=checkbox]:not(checked) + label:before {
content: '';
position: absolute;
top: -4px;
left: 0;
width: 50px;
height: 26px;
border-radius: 13px;
background: #CDD1DA;
box-shadow: inset 0 2px 3px rgba(0,0,0,.2);
}


Оформление второй части CheckBox в выключенном состоянии (переключатель).
Код
input[type=checkbox]:not(checked) + label:after {
content: '';
position: absolute;
top: -2px;
left: 2px;
width: 22px;
height: 22px;
border-radius: 10px;
background: #FFF;
box-shadow: 0 2px 5px rgba(0,0,0,.3);
transition: all .2s; /* анимация, чтобы чекбокс переключался плавно */
}


Меняем фон CheckBox, когда он включен.
Код
input[type=checkbox]:checked + label:before {
background: #9FD468;
}


Сдвигаем переключатель CheckBox, когда он включен.
Код
input[type=checkbox]:checked + label:after {
left: 26px;
}


Показываем получение фокуса.
Код
input[type=checkbox]:focus + label:before {
box-shadow: 0 0 0 3px rgba(255,255,0,.5);
}


Следующий код изменяет вид радио кнопок.
Код
input [type=radio]{vertical-align: top;width: 17px;height: 17px;margin: 0 3px 0 0;}
input [type=radio]+ label {cursor: pointer;}
input[type=radio]:not(checked) {position: absolute;opacity: 0;}
input[type=radio]:not(checked) + label {position: relative;padding: 0 0 0 35px;}
input[type=radio]:not(checked) + label:before {content: '';position: absolute;top: -3px;left: 0;width: 22px;height: 22px;border: 1px solid #CDD1DA;border-radius: 50%;background: #FFF;}
input[type=radio]:not(checked) + label:after {content: '';position: absolute;top: 1px;left: 4px;width: 16px;height: 16px;border-radius: 50%;background: #9FD468;box-shadow: inset 0 1px 1px rgba(0,0,0,.5);opacity: 0;transition: all .2s;}
input[type=radio]:checked + label:after {opacity: 1;}
input[type=radio]:focus + label:before {box-shadow: 0 0 0 3px rgba(255,255,0,.5);}

Случайный материал
Шаблон Minecraft MineStyle
По моему мнению данный шаблон бы очень очень хорошо вписался бы на какой ниб...
Одноцелевой шаблон Promo-x
Promo-x - одно целевой шаблон для ucoz. Он легко подойдет под личный блог, и...
Flat шаблон для uCoz Groups
Простой Flat шаблон, он подойдет как для блога, так и для портала. Использую...
Комментарии к материалу
Популярные материалы
Жалоба на пользователя для uCoz
630 просмотров
0 комментариев
Страница ошибки 404 в стиле flat для uCoz
748 просмотров
0 комментариев
Шаблон ВКонтакте для uCoz v2
1053 просмотра
0 комментариев
Игровой шаблон gamepolis.ru
884 просмотра
0 комментариев
Рекламное объявление
Комментарии
При копировании материала, автора и источник указывать обязательно.
Шаблон YOU-PS для uCoz
Проверка комментариев
Статистика
Онлайн всего: 1
Гостей: 1
Пользователей: 0