我最近也遇到过这种情况,但找不到“为什么”?
谁能解释一下吗?
请参阅下面的示例:http://codepen.io/chriscoyier/pen/lzjqh
发生这种情况是由于浏览器限制,而不是规范或浏览器实现方式中的错误。
The spec says:
选择器的特异性计算如下:
- 统计选择器中ID选择器的数量(= a)
- 计算选择器中类选择器、属性选择器和伪类的数量 (= b)
- 计算选择器中类型选择器和伪元素的数量 (= c)
- 忽略通用选择器
否定伪类中的选择器与其他选择器一样被计数,但否定本身并不算作伪类。
连接三个数字 a-b-c(在具有大基数的数字系统中)给出了特异性。
出于计算目的,浏览器必须将特异性值存储为整数,并且根据浏览器的不同,256 的值会以某种方式导致溢出。这通常发生在 8 位无符号整数上,其最大值为 255;再添加一个会导致类级别特异性以某种方式“升级”为 ID 级别值,使其等于级联中的 ID,从而覆盖它。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)