Я пытаюсь выполнить пресловутую задачу создания собственного флажка с помощью чистого CSS. На самом деле я не против использования Javascript / jQuery для получения того же эффекта, но пока я не нашел его полезным. В браузере все работает нормально, у меня есть треугольник (игра) для непроверенного значения и символ паузы для отмеченного. Однако на телефоне он выглядит совершенно иначе, и на него нельзя нажимать. Не совсем понимаю, почему все выглядит так кардинально иначе? Любые советы были бы действительно полезны.
input[type=checkbox] {
-webkit-appearance: none;
-moz-appearance: none;
appearance: none;
width: 0;
height: 0;
border-style: solid;
border-width: 6px 0 6px 12px;
border-color: transparent transparent transparent #ffffff;
outline: none;
display: none;
animation: pointer 0.4s infinite;
cursor: none;
transition: opacity 0.4s;
}
input[type=checkbox]:checked {
width: 10px;
height: 11px;
border-left: 2.5px solid #fff;
border-right: 2.5px solid #fff;
border-top: none;
border-bottom: none;
}
@Illdapt - Не могли бы вы указать мне направление сообщения или сайта, демонстрирующего, как это сделать? Я пробовал накладывать оверлеи, но обнаружил, что это мешает базовой функциональности флажка.
Хотя я не большой поклонник W3Schools, вот простой пример: w3schools.com/howto/howto_css_custom_checkbox.asp






Поскольку браузеры реализуют свои собственные стили ввода, наиболее последовательным способом создания собственных входов флажков было бы скрыть ввод флажков с помощью CSS и вместо этого использовать тег метки HTML в качестве флажка. Вы можете стилизовать <label> по своему усмотрению, и он будет наиболее согласованным во всех браузерах.
Используя HTML-тег:
<input type = "checkbox" id = "checkbox_1" style = "display:none;" />
<label for = "checkbox_1" class = "custom_checkbox"></label>
Вы можете найти отличный пример на CodePen.io
Каждый браузер по-разному отображает ввод / элементы управления HTML. Некоторые браузеры не позволяют настраивать CSS, что позволяют другие браузеры. Я всегда создавал свой собственный оверлей «флажок», который переключает скрытый флажок. Этот метод позволяет вам полностью контролировать свой дизайн во всех браузерах.