GoodProject
@GoodProject
Верстальщик

Как кроссбраузерно стилизовать type="checkbox"?

Здравствуйте!

Пожалуйста, подскажите как кроссбраузерно сделать такой чекбокс:

Uh9A3AS.png

Пробовал разными способами, гуглил, но что то не очень получилось.

На странице всего 1 чекбокс, но он очень противный, поэтому ломаю голову уже не первый час! :))

Буду Вам очень благодарен за помощь! :)
  • Вопрос задан
  • 616 просмотров
Решения вопроса 1
Defman21
@Defman21
Делаете label для чекбокса, сам чекбокс скрываете, для label через :before добавляете нужные стили. (когда checkbox:checked и checkbox в обычном состоянии, но важен порядок тегов в коде). На хабрахабре описывался подобный способ.
Псевдокод:
<input type="checkbox" id="checkbox"><label for="checkbox">Test</label>
<style>
    #checkbox {
        display: none;
    }
    
    #checkbox:checked + label:before {
        content: "* ";
    }
    
    #checkbox + label:before {
        content: " ";
    }
</style>

Будет отображать звездочку для отмеченного чекбокса и галочку для пустого чекбокса. Тебе остается просто заменить это все на картинки. Клик по ним тоже будет работать, т.к. :before :)
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
inik23
@inik23
типа разработчик
Странно конечно что по Вашим словам у гогла сегодня выходной ).
Вот курс на правильное направление у label
<labe for="test">Test</label>
<input type="чекбокс" id="test">

есть классный атрибут "for" он привязывает поле к лейблу,
Попробуйте кастомизировать лейбл
Ответ написан
Комментировать
master2016
@master2016
Всё нормально.
Да, обычно действуют в русле, указанном Defman21. Скрытый чекбокс и связанный с ним div - а туда уже пихаете все, что хотите.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
summer Ярославль
от 100 000 до 140 000 ₽
КРАФТТЕК Санкт-Петербург
от 60 000 до 80 000 ₽
19 апр. 2024, в 23:00
5000 руб./за проект
19 апр. 2024, в 20:43
20000 руб./за проект