I had to read a little to answer this question, here are some good resources, Gecko style mechanism Further reading on the implementation of the Engine , Still I did not see any pointers why it was lost, but I can give you everything I can, I think that the engine discards the entire selector, suppose that mozilla implements the pseudo-selector -moz-slider-thumb and tries to use it - webkit- and it will also be deleted.
I have seen this behavior before in all browsers, and I think it is sometimes used as a hack for some browsers.
It will work
input[type=radio], input[type=checkbox] { -webkit-appearance: none !important; -moz-appearance: none; width: 1.2em; height: 1.2em; border: 1px solid black; }
It will not be
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; }
or
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; }
I think you will have to rewrite the value properties for two or more different selectors, this will only affect the size of the stylesheet, as engines will continue to discard a selector that they do not have.
I really hope this helps a little at least.
EDIT:
As @BoltClock user noted in the comments, my guess was correct, here is a link to the w3.org/TR/css3-syntax/#rule-sets specification
rroche Nov 29 2018-11-21T00: 00-11
source share