Решение, как сделать оригинальное оформление checkbox без применения JavaScrpt, используя только CSS
Решение:
HTML
CSS
<label class="wds_chkbox_container">Click me <input type="checkbox"> <span class="wds_chkbox_checkmark"></span> </label>
CSS
/* label контейнер */ .wds_chkbox_container { display: block; position: relative; padding-left: 35px; margin-bottom: 12px; cursor: pointer; font-size: 22px; -webkit-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none; } /* Скрываем штатный checkbox */ .wds_chkbox_container input { position: absolute; opacity: 0; cursor: pointer; height: 0; width: 0; } /* Создаём свой checkbox */ .wds_chkbox_checkmark { position: absolute; top: 0; left: 0; height: 25px; width: 25px; border:2px solid #ccc; } /* При наведении мышкой, добавим background */ .wds_chkbox_container:hover input ~ .wds_chkbox_checkmark { background-color: #ccc; } /* Когда checkbox отмечен, добавим синий background */ .wds_chkbox_container input:checked ~ .wds_chkbox_checkmark { background-color: #2196F3; border:2px solid #2196F3; } /* Создадим индикатор, который скрыт, если не отмечен */ .wds_chkbox_checkmark:after { content: ""; position: absolute; display: none; } /* Покажем индикатор, когда отмечен */ .wds_chkbox_container input:checked ~ .wds_chkbox_checkmark:after { display: block; } /* Оформление индикатора */ .wds_chkbox_container .wds_chkbox_checkmark:after { left: 9px; top: 5px; width: 5px; height: 10px; border: solid white; border-width: 0 3px 3px 0; -webkit-transform: rotate(45deg); -ms-transform: rotate(45deg); transform: rotate(45deg); }
Похожие решения: