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

Для того, чтобы оформить чекбоксы и радиокнопки, как того требует дизайн, сегодня не обязательно использовать JavaScript-решения (типа моего плагина jQuery Form Styler), т.к. для этого можно задействовать только CSS, причем с обратной совместимостью для старых браузеров (т.е. не в ущерб юзабилити), которые не поддерживают современные ...
Комментарии (105)
Не вижу, что тут происходит, что это за тень? Поясните пожалуйста!
А за решение спасибо!
Желтая тень при получении фокуса чекбоксом.
Странно. В Mozilla не работает. Сам чекбокс отображается в выключенном состоянии. На нажатия не реагирует. Может вы что-то забыли ещё указать? Думал скрипт какой-нибудь мешает. Удалял все по очереди. Нет все равно не работает
В коду ошибка. Убери 1\3 нулей и тень проявится
нет там ошибки. Не вводите людей в заблуждение
Очень просто и красиво, автору респект!
Спасибо огромное!
Спасибо за пример.
Здравствуйте и все-таки как сделать для радио кнопки?
Все ништяк, разобрался)
Здравствуйте. Если обновить станицу, то все чекбоксы (выбранные) остаются в состание чекет. Что можно с эти сделать?
Не знаю, в чем дело. Я у себя подобного не наблюдаю.
Здравствуйте, подскажите пожалуйста в чем может быть проблема?: стоит фильтр характеристик на сайте, при нажатии на любой фильтр — работает только самый верхний чекбокс (только самая первая характеристика — все остальные не подвижны)
Когда клацаю по чекбоксу, текст сползает постепенно вниз.
Ничего не работает в мозиле и в хроме пробовал не пашет как было так и осталось!
Всё прекрасно работает. Автору спасибо)
Подскажите, а как сделать, чтобы label был с левой стороны?
Спасибо, очень полезно
Доброго времени суток!
Спасибо за отличную статью.
Небольшое дополнение: в хроме может не срабатывать стиль checkbox: checked + label: after
Что бы исправить это нужно поместить чекбокс в div:
checkbox
Не наблюдаю такого.
Классная статья о таком способе я еще не знал
Слишком большая зависимость от тега label. Например в Drupal 8 эти два элемента периодически отображаются в таблицах, причём в разных столбцах, что делает этот код неюзабельным, поскольку ячейка таблицы останется пустой. Попробую Ваш js вариант. А статья хорошая и доходчивая.
Спасибо, страница в закладках, очень часто возвращаюсь сюда, от себя добавлю в sass тот же код (без выделения фокусом):
Спасибо большое.
Очередной раз пришла подглядеть код и стало даже стыдно, что до сих пор не поблагодарила автора. Огромное-огромное спасибо!!!)
А как в этом красивом стиле достучаться хотя бы до value радиобаттонов?
У меня даже простой сумматор чекнутых радио с ними не срабатывает (
Так у вас и без плагина ничего не срабатывает. Видимо, ошибка в скрипте. Плагин тут ни при чем.
Я только не понял почему когда мы стилизуем: not (checked), то инпут стилизуется не только в «невыбранном» состоянии, но в выбранном. Объясните пожалуйста
У меня все отлично сработало и без: not (checked)
Мне никто не ответит про этот псевдоселектор?
В комментариях к стилям указано, для чего он нужен.
Себя же и поправил
.checkbox:disabled + label: before {
background: #ccc;
}
.radio:disabled + label: before {
background: #eee;
}
.radio:disabled:checked + label: after {
background: #ccc;
}
Обнови стили, Людям будет проще копитырить.
Здравствуйте! скажите пожалуйста, мне надо в label: before при. checkbox:checked вставить svg иконку «галочку». Пишу. chekbox:checked+label:before{ display: block; background: url (./icons/check.svg) no-repeat center } и ничего не работает. только если в content «» вставляю fontawesome, то работает, а мне нужно вставить svg иконку. как это решить?
Могу только предположить, что фон svg-иконки уходит за пределы размера label: before. Может быть у иконки задан неправильный размер.
для radio и checkbox можно более легкое решение — без: not-ов!
:not нужен для обратной совместимости старых браузеров, но я на практики его уже не использую. Пора, наверное, обновить статью и убрать его.
Обновить давно пора
Вот, к примеру, такие-же чекбокс и радиокнопка:
Не работает в IE 11, Edge и Firefox.
Да, этот код только для хромоподобных браузеров
так даже более симантично так как input в label лежит и for не нужен), но автору респект за содержательную статью!