Страницы

Поиск по вопросам

вторник, 31 декабря 2019 г.

Кастомизация RadioButton

#html #css #вёрстка #svg #css_animation


Столкнулся с уже классической проблемой кастомизации радио кнопок. Итак, есть набор
иконок. Вопрос: как наиболее оптимально кастомизировать RadioButton с помощью выбора
одной из иконок для дальнейшей отправки данных? или есть другой способ реализовать
то, что мне нужно?
    


Ответы

Ответ 1



Элементы radio и checkbox кастомизируются с помощью label: label.custom-radio input { display: none; } label.custom-radio input+div { content: "\a"; background: green; width: 20px; height: 20px; } label.custom-radio input:checked+div { background: red; } http://jsfiddle.net/oceog/uYZM2/

Ответ 2



html, body { height: 100%; } body { display: flex; justify-content: center; align-items: center; margin: 0; background-color: #333; } .custom-radios [type='radio'] { position: absolute; right: 100vw; } .custom-radios [type='radio'] + label { display: inline-block; position: relative; margin: 0 4px; border: 2px solid #fff; width: 2.5em; height: 2.5em; border-radius: 50%; box-shadow: 0 1px 3px rgba(0, 0, 0, 0.33); color: transparent; cursor: pointer; } .custom-radios [type='radio'] + label:nth-of-type(1) { background: #2ecc71; } .custom-radios [type='radio'] + label:nth-of-type(2) { background: #3498db; } .custom-radios [type='radio'] + label:nth-of-type(3) { background: #f1c40f; } .custom-radios [type='radio'] + label:nth-of-type(4) { background: #e74c3c; } .custom-radios [type='radio'] + label:before { position: absolute; top: 0; right: 0; bottom: 0; left: 0; opacity: 0; background: url("https://s3-us-west-2.amazonaws.com/s.cdpn.io/2017/check-icn.svg") 50%/50% no-repeat; transition: all .3s ease; content: ''; } .custom-radios [type='radio']:checked + label:before { opacity: 1; }
У радио кнопки в активном (checked) состоянии показывается фон, в качестве которого выступает svg файл - галочка.

Комментариев нет:

Отправить комментарий