Мне пришлось немного прочитать, чтобы ответить на этот вопрос, вот несколько хороших ресурсов, Gecko Style Engine Дальнейшее чтение по реализации движка , Тем не менее, я не видел никаких указателейкак, почему он отбросил бы это, но я могу дать вам мое лучшее предположение, я думаю, что движок отбрасывает весь селектор, предположим, что mozilla реализует псевдоселектор -moz-slider-thumb и попытается использовать его с -webkit-также будет отброшено.
Я видел такое поведение раньше во всех браузерах, и я думаю, что оно иногда используется как хак для нацеливания на некоторые браузеры.
Это будет работать
input[type=radio],
input[type=checkbox] {
-webkit-appearance: none !important;
-moz-appearance: none;
width: 1.2em;
height: 1.2em;
border: 1px solid black;
}
Это не
input[type="range"]::-webkit-slider-thumb,
input[type=radio],
input[type=checkbox] {
-webkit-appearance: none !important;
-moz-appearance: none;
width: 1.2em;
height: 1.2em;
border: 1px solid black;
}
или это
input[type="range"]::-moz-slider-thumb,
input[type=radio],
input[type=checkbox] {
-webkit-appearance: none !important;
-moz-appearance: none;
width: 1.2em;
height: 1.2em;
border: 1px solid black;
}
Я думаю, вам придется переписать значения свойств на двух или более различных селекторах, это повлияет только на размертаблицы стилей, так как движки будут продолжать сбрасывать селекторы, которыми они не владеют.
Я действительно надеюсь, что это помогло хотя бы немного.
РЕДАКТИРОВАТЬ:
Как заметил пользователь@BoltClock в комментариях, мое предположение было правильным, вот ссылка на спецификацию w3.org / TR / css3-синтаксис / # набор правил