Как стилизовать checkbox css
Перейти к содержимому

Как стилизовать checkbox css

  • автор:

Использование и стилизация input checkbox

чекбоксы

В данной статье мы поговорим об использовании и стилизации элементов checkbox(далее чекбоксов) на вашем сайте. При верстке сайта разработчики сталкиваются с проблемой стилизации чекбоксов, многие так же используют их не там где надо. Давайте познакомимся с этим элементов поближе.

Что такое чекбокс?

Checkbox с английского переводится как «флажок». Это элемент пользовательского интерфейса, позволяющий пользователю управлять параметром с двумя состояниями — ☑ включено и ☐ отключено. В включенном состоянии внутри чекбокса отображается галочка ✓, иногда можно использовать крестик. По традиции чекбокс имеет квадратную форму.

В html формах для вывода чекбокса используется код:

Применение чекбоксов

  • для выбора элементов из списка. Например, выбор массового действия.
  • Для выбора параметров. Например, включение уведомлений.
  • Подтверждение действий. Например, согласие на обработку персональных данных.

Чекбокс не запускает действие сразу. Для этого, обычно, необходимо нажать на кнопку. Для включение какого-либо режима сразу рекомендуется использование тугла(toogle):

Элемент toogle

Некоторые разработчики неправильно применяют чекбоксы в интерфейсе. Например, при выборе из нескольких параметров следует использовать тип radio:

Правильное использование чекбоксов

Создание стандартных чекбоксов

Ниже продемонстрирован пример создания стандартных чекбоксов.

See the Pen Untitled by Токмаков Александр (@calliko) on CodePen.

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

Чекбоксы можно стилизовать под ваши нужды. Ниже приведен пример стилизации чекбоксов с помощью css, без использования js

See the Pen checkbox style by Токмаков Александр (@calliko) on CodePen.

Пример тугла (переключателя):

See the Pen toggle by Токмаков Александр (@calliko) on CodePen.

Данные переключатели советую использовать когда необходимо выполнить действие моментально. Например, включение темного режима сайта.

Советы по использованию чекбоксов

  1. Используйте стандартный вид чекбокса. Пользователи привыкли к квадратной форме чекбоксов и галочкам внутри них. Сделав их круглыми, вы можете запутать пользователей. Если использовать крестик, то тоже не понятно выбор сделан или наоборот — отмена.
  2. Располагайте чекбоксы правильно. Лучший вариант в столбик друг под другом. Иногда можно их ставить в ряд, но нижние чекбоксы должны быть строго друг под другом.
  3. Используйте понятные утвердительные подписи к чекбоксам. Избегайте отрицательных подписей, например, «Не присылать мне подписку».
  4. Не делайте размер чекбокса слишком маленьким или слишком большим.

А ещё у нас есть статья о стилизации select. Спасибо за внимание!

Стилизация чекбоксов и радиокнопок на чистом CSS с совместимостью для старых браузеров

Для того, чтобы оформить чекбоксы и радиокнопки, как того требует дизайн, сегодня не обязательно использовать JavaScript-решения (типа моего плагина jQuery Form Styler), т.к. для этого можно задействовать только CSS, причем с обратной совместимостью для старых браузеров (т.е. не в ущерб юзабилити), которые не поддерживают современные CSS-правила. Другими словами — в современных браузерах чекбоксы и радиокнопки будут выглядеть красиво, в соответствии с задуманным дизайном, а в старых (это относится к Internet Explorer версии 8 и ниже) они останутся с оформлением «по умолчанию», характерным для каждой конкретной операционной системы. Кроме того, сохраняется возможность HTML5-валидации стилизуемых элементов (чего может не быть при использовании JavaScript-плагинов). В современных браузерах ее поддержка — уже давно норма.

Важные особенности

  1. Кроме, собственно, самого тега элемента, который мы хотим красиво оформить ( или ), понадобится тег , благодаря которому переключать элемент можно, кликая на текст, а не только на сам элемент.
  2. Тег должен находиться до тега (в этом случае состояние элемента формы переключается с помощью атрибута for ), либо он должен находиться внутри тега (в этом случае атрибут for не нужен, но понадобится тег-обертка для текста).

«Фокус» заключается в использовании псевдоселекторов :checked и :not . При этом сам чекбокс или радиокнопка делаются невидимыми, а их эмуляция осуществляется с помощью псевдоэлементов :before и :after для тега или вышеупомянутого тега-обертки.

Стилизация для современных браузеров

Рассмотрим оба вариант расположения стилизуемого элемента формы. Какой из них наиболее удобен — решать вам. Суть от этого не меняется.

Теги чекбокса и радиокнопки находятся перед тегом

В HTML-коде это выглядит следующим образом:

   

Еще раз хочу заострить ваше внимание — тег обязательно должен быть расположен перед тегом . Если вы поменяете их местами, ничего работать не будет.

CSS-код для чекбокса будет таким:

.checkbox < position: absolute; z-index: -1; opacity: 0; margin: 10px 0 0 20px; >.checkbox + label < position: relative; padding: 0 0 0 60px; cursor: pointer; >.checkbox + 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); transition: .2s; >.checkbox + 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: .2s; >.checkbox:checked + label:before < background: #9FD468; >.checkbox:checked + label:after < left: 26px; >.checkbox:focus + label:before

CSS-код для радиокнопки будет таким:

.radio < position: absolute; z-index: -1; opacity: 0; margin: 10px 0 0 7px; >.radio + label < position: relative; padding: 0 0 0 35px; cursor: pointer; >.radio + label:before < content: ''; position: absolute; top: -3px; left: 0; width: 22px; height: 22px; border: 1px solid #CDD1DA; border-radius: 50%; background: #FFF; >.radio + 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: .2s; >.radio:checked + label:after < opacity: 1; >.radio:focus + label:before

С помощью свойств position , z-index и opacity для классов .checkbox и .radio мы визуально прячем оригинальные элементы, при этом они остаются на том же самом месте, где будут стилизованные элементы. А с помощью margin немного смещаем их, чтобы сообщение валидации HTML5 смотрелось гармонично. В зависимости от дизайна чекбокса и радиокнопки этот отступ можно подогнать.

Теги чекбокса и радиокнопки находятся внутри тега

HTML-код в данном случае будет следующим:

По аналогии с предыдущим вариантом — тег обязательно должен быть расположен перед тегами с классом .checkbox__text и .radio__text .

CSS-код для чекбокса будет таким:

.checkbox input < position: absolute; z-index: -1; opacity: 0; margin: 10px 0 0 20px; >.checkbox__text < position: relative; padding: 0 0 0 60px; cursor: pointer; >.checkbox__text: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); transition: .2s; >.checkbox__text: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: .2s; >.checkbox input:checked + .checkbox__text:before < background: #9FD468; >.checkbox input:checked + .checkbox__text:after < left: 26px; >.checkbox input:focus + .checkbox__text:before

CSS-код для радиокнопки будет таким:

.radio input < position: absolute; z-index: -1; opacity: 0; margin: 10px 0 0 7px; >.radio__text < position: relative; padding: 0 0 0 35px; cursor: pointer; >.radio__text:before < content: ''; position: absolute; top: -3px; left: 0; width: 22px; height: 22px; border: 1px solid #CDD1DA; border-radius: 50%; background: #FFF; >.radio__text: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: .2s; >.radio input:checked + .radio__text:after < opacity: 1; >.radio input:focus + .radio__text:before

Стили здесь те же самые, что и в предыдущем способе, только они применяются для других селекторов.

Стилизация с учетом старых браузеров

CSS-код для чекбокса. В комментариях к коду я добавил пояснения касательно браузеров:

/* Cначала обозначаем стили для IE8 и более старых версий т.е. здесь мы немного облагораживаем стандартный чекбокс. */ .checkbox < vertical-align: top; width: 17px; height: 17px; margin: 0 3px 0 0; >/* Это для всех браузеров, кроме совсем старых, которые не поддерживают селекторы с плюсом. Показываем, что label кликабелен. */ .checkbox + label < cursor: pointer; >/* Далее идет оформление чекбокса в современных браузерах, а также IE9 и выше. Благодаря тому, что старые браузеры не поддерживают селекторы :not и :checked, в них все нижеследующие стили не сработают. В данном случае checked указывается без двоеточия впереди, почему-то это срабатывает именно так. */ .checkbox:not(checked) < position: absolute; z-index: -1; opacity: 0; margin: 10px 0 0 20px; >.checkbox:not(checked) + label < position: relative; padding: 0 0 0 60px; >.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); transition: .2s; >.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: .2s; >.checkbox:checked + label:before < background: #9FD468; >.checkbox:checked + label:after < left: 26px; >.checkbox:focus + label:before

CSS-код для радиокнопки:

.radio < vertical-align: top; width: 17px; height: 17px; margin: 0 3px 0 0; >.radio + label < cursor: pointer; >.radio:not(checked) < position: absolute; z-index: -1; opacity: 0; margin: 10px 0 0 7px; >.radio:not(checked) + label < position: relative; padding: 0 0 0 35px; >.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; >.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: .2s; >.radio:checked + label:after < opacity: 1; >.radio:focus + label:before

Примеры

Вот таким несложным образом это и делается. Благодаря данному способу, оформить чекбоксы и радиокнопки с помощью CSS можно так, как вам будет угодно.

Смотрите также

jQuery Form Styler — плагин для стилизации элементов HTML-форм (input[type=checkbox], input[type=radio], input[type=file], input[type=number], select)

Данный плагин позволяет стилизовать с помощью CSS следующие HTML-элементы: флажок ; переключатель ; поле для выбора файла . поле для ввода чисел . раскрывающийся список ; Демонстрация .

Верстка красивых тегов для сайта + бонус

Замечательный дизайнер Orman Clark однажды представил своим читателям очень красивый дизайн облака тегов, который я использовал на одном моем сайте. Расскажу, как сверстать такие теги для вашего сайта. Для начала необходимо приготовить .

Зеленый свет CSS-свойствам при верстке под IE8 и выше

Пришло время, и я наконец-таки решился отказаться от верстки под устаревший браузер Internet Explorer 7. Если это будет верстка на заказ, то вносить изменения под него буду только за дополнительную плату, а для своих проектов забуду вообще. .

jQuery-плагин для стилизации input[type=

jQuery-плагин для стилизации input[type=»radio»]

Внимание! Дальнейшее развитие и поддержка плагина остановлены в связи с тем, что теперь он является частью другого плагина. * * * Завершаю серию статей по стилизации элементов html-форм с помощью jQuery и CSS. В этот раз это плагин .

Стилизация флажков (чекбоксов) в CSS

Наверняка вы задумались о том, как можно изменить стандартный вид флажков (чекбоксов), чтобы они выглядели привлекательней с учетом дизайна вашего сайта или задач одной конкретной страницы. В этой статье вы найдете ряд практических примеров, которые помогут вам стилизовать элементы . Для начала разберем пример, который имеет вид переключателя. Давайте посмотрим, как можно стилизовать флажки на примере, который в html-разметке содержит только и :

HTML-разметка

Сам пример в действии:

Теперь рассмотрим CSS-стили:

Стили для флажков (чекбоксов)
input+label,
input+label::before,
input+label::after < -webkit-transition : all .2s ; transition : all .2s ; input+label < display : inline-block ; position : relative ; width : 130px ; height : 50px ; border-radius : 25px ; cursor : pointer ; input+label::before < display : block ; content : attr ( data-off-label ) ; position : absolute ; right : 10px ; color : #fff ; font-family : Arial, sans-serif ; font-size : 18px ; input+label::after < position : absolute ; width : 44px ; height : 44px ; background-color : #fff ; border-radius : 50% ; input:checked+label::before < content : attr ( data-on-label ) ; left : 14px ; right : auto ; color : #fff ; input:checked+label::after < left : 83px ; background-color : #f7f7f7 ; #demo1+label < background-color : #ccc ; >
#demo1+label::before < color : #999 ; >
#demo1:checked+label < background-color : #3498db ; >
#demo1:checked+label::before < color : #fff ; >
#demo2+label < background-color : #e74c3c ; >
#demo2:checked+label < background-color : #1abc9c ; >

Если проанализировать код CSS, то видно, что элемент input мы прячем (свойство display: none), а все остальные стили прописаны для элемента label , а также псевдоэлементов label::before и label::after. Изменения внешнего вида также осуществляются для псевдокласса :checked, который имеет смысл использовать для флажков и радио-кнопок.

Еще ряд похожих вариантов с анимацией вам предлагает Himalaya Singh в своем примере.

И еще один пример:

See the Pen Simple CSS Checkbox by Tristan White (@triss90) on CodePen.18892

Примеры стилизации флажков с ресурса codepen.io

Как работает стилизация

В этом примере видно, где расположен флажок, который обычно скрывается с помощью свойства display: none, и как стилизованы label . Откройте вкладку CSS и проанализируйте код.

Простое решение для флажков и переключателей от Jon Kantner.

Близкие к стандартным варианты флажков, переключателей и выпадающих списков от Kenan Yusuf

Зачеркивание при выборе флажка с анимацией

Несколько интересных решений для флажков и переключателей от Brad Bodine

See the Pen CSS3 Checkbox Styles by Brad Bodine (@bbodine1) on CodePen.18892

Несколько похожих переключений состояний чекбокса от Olivia Ng

Разные виды переключателей от Mauricio Allende

Иконки-переключатели от Braydon Coyer

Анимированное переключение состояний флажка в виде пилюли

Круглая кнопка с анимацией от mandycodestoo

See the Pen 100dayscss-66 by @mandycodestoo (@mandycodestoo) on CodePen.18892

Перетекающий переключатель от Nicolas Jesenberger

Анимация текста флажков и радио-кнопок от Raúl Barrera

Еще один пример от Nicolas Jesenberger

Подсветка текста label + анимация выбора чекбокса от Adam Quinlan

See the Pen chippy checkbox inputs by Adam Quinlan (@quinlo) on CodePen.18892

Переключатель темы/погоды от Jon Kantner

Анимация флажков с переворотом

Анимация флажков и переключателей в стиле Material Design от Matt Sisto

Перекатывающийся шарик от Jon Kantner

Вариант 1

See the Pen Toy Toggle Switch by Jon Kantner (@jkantner) on CodePen.18892

Вариант 2 со скрепкой

Объемный переключатель от того же автора

Карандаш для отметки выбора флажка

Еще один вариант анимации от Jon Kantner, но с появлением карандаша. Отличное решение для тестов, например.

Меняем цветовую схему переключателем

Автор Jon Kantner предлагает вашему вниманию вариант кода, при котором клик на чекбоксе меняет цвет фона.

Вариант 1

Вариант 2

Вариант 3

Переключатель энергии

See the Pen Blocky Toggle Switch by Jon Kantner (@jkantner) on CodePen.18892

Реализация аккордеона на чистом CSS с использованием чекбоксов от Alex Bergin

Переключатель цены от Aniruddha Banerjee

See the Pen Pricing Card Design by Aniruddha Banerjee (@imanirudh1) on CodePen.0

Выбор группы иконок от Håvard Brynjulfsen

Множественный выбор из группы от Jon Kantner

Использование переключателя для показа скрытого контента

Скрытый checkbox нужен для отображения блока с информацией, которая не видна изначально. Автор Lisi.

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

Оказывается, флажки (чекбоксы) можно стилизовать так, что пользователи вряд ли догадаются о том, что используют именно эти элементы.

Шестеренки в переключателе с анимацией

Флажок-выключатель

Отличная стилизация в виде выключателя с внутренней подсветкой от Yoav Kadosh.

Лампа-переключатель

Вариант попроще внешне от Jon Kantner, но в коде вы найдете очень меого правил.

Флажок-переключатель

Настоящий переключатель от Jon Kantner. Здесь использован не только CSS, но и JS-код.

Еще несколько вариантов 3D-переключателей

See the Pen 3D Tilt Toggle by Jon Kantner (@jkantner) on CodePen.0

Светлый и темный вариант

See the Pen Rocker Switches by Jon Kantner (@jkantner) on CodePen.0

See the Pen Skillet Switch by Jon Kantner (@jkantner) on CodePen.0

Переключатель цены

Тянет на полноценную страницу. Автор Ivan Grozdic

See the Pen Pricing by Ivan Grozdic (@ig_design) on CodePen.0

3D-трансформации с анимацией

Глядя на этот пример, понимаешь, что стилизация переключателей — это наименьшее из того, что сделал автор Ivan Grozdic . Отличный вариант для туристического сайта в плане выбора услуг.

See the Pen Pricing — pure css — #16 by Ivan Grozdic (@ig_design) on CodePen.18892

Пример генератора пароля с использованием флажков

ToDo List (список дел) от Will Boyd

Интересно то, что при отметке чекбокса вы получаете список дел с подсчетом сделанных и несделанных заданий на основе только лишь CSS, совсем без JavaScript-кода, за счет использования свойства counter-increment и свойства order Flexbox-модели.

И еще один ToDo List от Daniel Ramos

Только CSS, без JavaScript

See the Pen To do List + CSS by Daniel Ramos (@DanielRamos) on CodePen.0

Бонус. Невключаемый чекбох

Для тех, кто дочитал до конца — бонус — чекбокс, который нельзя оставить включенным, так как вы рассердите мишку. Он даже рычать умеет и хмурить брови. Наслаждайтесь ))) Написано на React. Автор Jhey.

CSS стили для Checkbox

В каждом проекте приходится стилизовать Checkbox, поэтому написал несколько стилей для применения в разных макетах.

Все примеры можно посмотреть на codepen

HTML разметка для примера:

 
Style A

— Родительская label обертка с классом checkbox и классом стилей style-a , используется для того, чтобы активная область была на всех внутренних элементах, то есть можно нажимать не только на сам checkbox, но и на область описания checkbox

обязательный скрытый input для определения состояния checkbox

— область отметки checkbox

Отметка добавляется через псевдо-элемент :after относительно

— область для описания checkbox, может быть текстом, изображением, элементом и так далее

Небольшое отступление для понимания:

Селектор ~ (тильда) выбирает соседние элементы, находящиеся на том же уровне, но после выбранного элемента

Проще всего понять на примере:

  
/* Верно */ input ~ .checkbox__checkmark <> /* выбирает .checkbox__checkmark */ input ~ .checkbox__body <> /* выбирает .checkbox__body */ .checkbox__checkmark ~ .checkbox__body <> /* выбирает .checkbox__body */ /* Не верно */ .checkbox__checkmark ~ input <> /* выше расположеный input НЕ БУДЕТ выбран */ .checkbox__body ~ .checkbox__checkmark <> /* выше расположеный .checkbox__checkmark НЕ БУДЕТ выбран */ 

Также для более логичного поведения при установке размеров элементов использую box-sizing: border-box; для все элементов

*, *::before, *::after

Если в проекте не используете box-sizing: border-box; , то можно установить это свойство только для стилизованного checkbox

/* Для самого блока .checkbox */ .checkbox, .checkbox::before, .checkbox::after < box-sizing: border-box; >/* И для его дочерних элементов */ .checkbox *, .checkbox *::before, .checkbox *::after

Иначе возможны различия с примерами во внешнем виде

Описание стилей

Style A

.checkbox.style-a < display: inline-block; position: relative; padding-left: 25px; /* Так как .checkbox__checkmark имеет position: absolute; оставляем для него свободное место */ cursor: pointer; user-select: none; >/* Скрываем стандарный input */ .checkbox.style-a input < position: absolute; opacity: 0; cursor: pointer; height: 0; width: 0; >/* Если input отмечен(:checked), то .checkbox__checkmark(область отметки), применяет данные стили */ .checkbox.style-a input:checked ~ .checkbox__checkmark < background-color: #fff; >/* Если input отмечен(:checked), то псевдо-элемент .checkbox__checkmark:after(отметка-галочка), применяет данные стили */ .checkbox.style-a input:checked ~ .checkbox__checkmark:after < opacity: 1; /* отображаем отметку-галочку */ >/* При наведении(:hover) на всю область checkbox элемент .checkbox__checkmark(область отметки) применяет данные стили*/ .checkbox.style-a:hover input ~ .checkbox__checkmark < background-color: #eee; /* окрашиваем фон в серый цвет*/ >/* При наведении(:hover) на всю область checkbox и при отмеченном input элемент .checkbox__checkmark(область отметки) применяет данные стили*/ .checkbox.style-a:hover input:checked ~ .checkbox__checkmark < background-color: #fff; /* окрашиваем фон в белый цвет*/ >/* Исходные стили для области отметки .checkbox__checkmark */ .checkbox.style-a .checkbox__checkmark < position: absolute; top: 4px; left: 0; height: 16px; width: 16px; background-color: #fff; border: 1px solid #333; transition: background-color 0.25s ease; border-radius: 3px; >/* Исходные стили для отметки .checkbox__checkmark:after */ .checkbox.style-a .checkbox__checkmark:after < content: ""; position: absolute; left: 5px; top: 1px; width: 5px; /* ширина - длина левой линии отметки-галочки */ height: 10px; /* высота - длина правой линии отметки-галочки */ border: solid #333; /* рамка(border) сплошной линией цвета #333 */ border-width: 0 1px 1px 0; /* правая и нижняя рамка(border) по 1px */ transform: rotate(45deg); /* блок наклонен по часовой стрелке на 45 градусов */ opacity: 0; /* изначально скрыта */ transition: opacity 0.25s ease; /* для плавного появления, скрытия, перемещения отметки*/ >/* Исходные стили для области описания .checkbox__body*/ .checkbox.style-a .checkbox__body

Остальные стили

Style B

  
.checkbox.style-b < display: inline-block; position: relative; padding-left: 30px; cursor: pointer; -webkit-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none; >.checkbox.style-b input < position: absolute; opacity: 0; cursor: pointer; height: 0; width: 0; >.checkbox.style-b input:checked ~ .checkbox__checkmark < background-color: #fff; >.checkbox.style-b input:checked ~ .checkbox__checkmark:after < opacity: 1; >.checkbox.style-b:hover input ~ .checkbox__checkmark < background-color: #eee; >.checkbox.style-b:hover input:checked ~ .checkbox__checkmark < background-color: #fff; >.checkbox.style-b .checkbox__checkmark < position: absolute; top: 3px; left: 0; height: 18px; width: 18px; background-color: #fff; border: 2px solid #333; transition: background-color 0.25s ease; border-radius: 4px; >.checkbox.style-b .checkbox__checkmark:after < content: ""; position: absolute; left: 5px; top: 1px; width: 5px; height: 10px; border: solid #333; border-width: 0 2px 2px 0; transform: rotate(45deg); opacity: 0; transition: opacity 0.25s ease; >.checkbox.style-b .checkbox__body

Style C

  
.checkbox.style-c < display: inline-block; position: relative; padding-left: 30px; cursor: pointer; -webkit-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none; >.checkbox.style-c input < position: absolute; opacity: 0; cursor: pointer; height: 0; width: 0; >.checkbox.style-c input:checked ~ .checkbox__checkmark < background-color: #f7cb15; >.checkbox.style-c input:checked ~ .checkbox__checkmark:after < opacity: 1; >.checkbox.style-c:hover input ~ .checkbox__checkmark < background-color: #eee; >.checkbox.style-c:hover input:checked ~ .checkbox__checkmark < background-color: #f7cb15; >.checkbox.style-c .checkbox__checkmark < position: absolute; top: 2px; left: 0; height: 20px; width: 20px; background-color: #eee; transition: background-color 0.25s ease; border-radius: 4px; >.checkbox.style-c .checkbox__checkmark:after < content: ""; position: absolute; left: 8px; top: 4px; width: 5px; height: 10px; border: solid #333; border-width: 0 2px 2px 0; transform: rotate(45deg); opacity: 0; transition: opacity 0.25s ease; >.checkbox.style-c .checkbox__body

Style D

  
.checkbox.style-d < display: inline-block; position: relative; padding-left: 30px; cursor: pointer; -webkit-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none; >.checkbox.style-d input < position: absolute; opacity: 0; cursor: pointer; height: 0; width: 0; >.checkbox.style-d input:checked ~ .checkbox__checkmark < background-color: #f7cb15; >.checkbox.style-d input:checked ~ .checkbox__checkmark:after < opacity: 1; >.checkbox.style-d:hover input ~ .checkbox__checkmark < background-color: #eee; >.checkbox.style-d:hover input:checked ~ .checkbox__checkmark < background-color: #f7cb15; >.checkbox.style-d:hover input ~ .checkbox__body < color: #f7cb15; >.checkbox.style-d .checkbox__checkmark < position: absolute; top: 1px; left: 0; height: 22px; width: 22px; background-color: #eee; transition: background-color 0.25s ease; border-radius: 11px; >.checkbox.style-d .checkbox__checkmark:after < content: ""; position: absolute; left: 9px; top: 5px; width: 5px; height: 10px; border: solid #333; border-width: 0 2px 2px 0; transform: rotate(45deg); opacity: 0; transition: opacity 0.25s ease; >.checkbox.style-d .checkbox__body

Style E

  
.checkbox.style-e < display: inline-block; position: relative; padding-left: 50px; cursor: pointer; -webkit-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none; >.checkbox.style-e input < position: absolute; opacity: 0; cursor: pointer; height: 0; width: 0; >.checkbox.style-e input:checked ~ .checkbox__checkmark < background-color: #f7cb15; >.checkbox.style-e input:checked ~ .checkbox__checkmark:after < left: 21px; >.checkbox.style-e:hover input ~ .checkbox__checkmark < background-color: #eee; >.checkbox.style-e:hover input:checked ~ .checkbox__checkmark < background-color: #f7cb15; >.checkbox.style-e .checkbox__checkmark < position: absolute; top: 1px; left: 0; height: 22px; width: 40px; background-color: #eee; transition: background-color 0.25s ease; border-radius: 11px; >.checkbox.style-e .checkbox__checkmark:after < content: ""; position: absolute; left: 3px; top: 3px; width: 16px; height: 16px; display: block; background-color: #fff; border-radius: 50%; transition: left 0.25s ease; >.checkbox.style-e .checkbox__body

Style F

  
.checkbox.style-f < display: inline-block; position: relative; padding-left: 30px; cursor: pointer; -webkit-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none; >.checkbox.style-f input < position: absolute; opacity: 0; cursor: pointer; height: 0; width: 0; >.checkbox.style-f input:checked ~ .checkbox__checkmark < background-color: #eee; >.checkbox.style-f input:checked ~ .checkbox__checkmark:after < transform: scale(1); >.checkbox.style-f input:checked ~ .checkbox__body < font-weight: bold; >.checkbox.style-f:hover input ~ .checkbox__checkmark < background-color: #eee; >.checkbox.style-f:hover input:checked ~ .checkbox__checkmark < background-color: #eee; >.checkbox.style-f .checkbox__checkmark < position: absolute; top: 1px; left: 0; height: 22px; width: 22px; background-color: #eee; transition: background-color 0.25s ease; border-radius: 11px; >.checkbox.style-f .checkbox__checkmark:after < content: ""; position: absolute; left: 0px; top: 0px; width: 22px; height: 22px; display: block; background-color: #f7cb15; border-radius: 50%; transform: scale(0); transition: transform 0.25s ease; >.checkbox.style-f .checkbox__body

Style G

  
.checkbox.style-g < display: inline-block; position: relative; padding-right: 40px; cursor: pointer; -webkit-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none; >.checkbox.style-g input < position: absolute; opacity: 0; cursor: pointer; height: 0; width: 0; >.checkbox.style-g input:checked ~ .checkbox__checkmark < background-color: #fff; >.checkbox.style-g input:checked ~ .checkbox__checkmark:after < opacity: 1; left: 8px; >.checkbox.style-g input:checked ~ .checkbox__body < font-weight: bold; >.checkbox.style-g:hover input ~ .checkbox__checkmark < background-color: #eee; >.checkbox.style-g:hover input:checked ~ .checkbox__checkmark < background-color: #eee; >.checkbox.style-g .checkbox__checkmark < position: absolute; top: 1px; right: 0; height: 22px; width: 22px; background-color: #eee; transition: background-color 0.25s ease; border-radius: 4px; >.checkbox.style-g .checkbox__checkmark:after < content: ""; position: absolute; left: -20px; top: -8px; width: 15px; height: 25px; border: solid #f7cb15; border-width: 0 4px 4px 0; transform: rotate(45deg); opacity: 0; transition: opacity 0.25s ease, left 0.25s ease; >.checkbox.style-g .checkbox__body

Style H

  
.checkbox.style-h < display: block; position: relative; cursor: pointer; -webkit-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none; >.checkbox.style-h input < position: absolute; opacity: 0; cursor: pointer; height: 0; width: 0; >.checkbox.style-h input:checked ~ .checkbox__checkmark < background-color: #f7cb15; >.checkbox.style-h input:checked ~ .checkbox__checkmark:after < opacity: 1; top: -3px; >.checkbox.style-h input:checked ~ .checkbox__body < background-position: 0 0; color: #fff; >.checkbox.style-h:hover input ~ .checkbox__checkmark < background-color: #f7cb15; >.checkbox.style-h:hover input:checked ~ .checkbox__checkmark < background-color: #f7cb15; >.checkbox.style-h:hover .checkbox__body < box-shadow: 5px 5px 10px rgba(0,0,0,0.2); >.checkbox.style-h .checkbox__checkmark < position: absolute; top: 50%; transform: translateY(-50%); left: 15px; height: 22px; width: 22px; background-color: #f7cb15; transition: background-color 0.25s ease; border-radius: 4px; box-shadow: inset 2px 2px 4px rgba(0,0,0,0.1), inset -2px -2px 4px rgba(255,255,255,0.4); >.checkbox.style-h .checkbox__checkmark:after < content: ""; position: absolute; left: 10px; top: -15px; width: 10px; height: 20px; border: solid #fff; border-width: 0 4px 4px 0; transform: rotate(45deg); opacity: 0; transition: opacity 0.25s ease, top 0.25s ease; >.checkbox.style-h .checkbox__body

Style I

  
.checkbox.style-i < display: block; position: relative; cursor: pointer; -webkit-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none; padding-left: 65px; >.checkbox.style-i input < position: absolute; opacity: 0; cursor: pointer; height: 0; width: 0; >.checkbox.style-i input:checked ~ .checkbox__checkmark < background-color: #49db44; >.checkbox.style-i input:checked ~ .checkbox__checkmark:after < transform: rotate(90deg) translateY(-50%) translateX(-50%); background-color: #49db44; >.checkbox.style-i .checkbox__checkmark < position: absolute; top: 0; left: 0; height: 50px; width: 50px; background-color: #ff0070; transition: background-color 0.25s ease; border-radius: 50%; >.checkbox.style-i .checkbox__checkmark:after < content: ""; position: absolute; left: 50%; top: 50%; width: 80%; height: 12px; border-radius: 6px; transform: rotate(0deg) translateY(-50%) translateX(-50%); transform-origin: left top; background-color: #ff0070; transition: transform 0.25s ease, background-color 0.25s ease; box-shadow: 2px 2px 4px rgba(0,0,0,0.2), -2px -2px 4px rgba(255,255,255,0.6); >.checkbox.style-i .checkbox__body

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *