
之前问题没有描述清楚。
我的意思是如果权重相同该得到哪个样式?
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
css层叠的时候考虑3点:继承,特殊性和来源。这里只看特殊性:
内联样式:1,0,0,0
id选择器:0,1,0,0
class选择器,属性选择器,伪类:0,0,1,0
元素选择器,伪元素:0,0,0,1
通配选择器:0,0,0,0
继承值:无特殊性
计算时特殊性就是简单的把各位上的数字相加,然后从第一位开始比较。只有前一位比较不出时才会比较下一位,换言之,0,1,0,0特殊性高于0,0,10,100。
通配选择器(*)的0,0,0,0特殊性高于无特殊性的继承值。
!important其实和特殊性无关,它属于重要声明。css层叠时,所有的重要声明和非重要声明会分开进行层叠。如果重要声明和非重要声明冲突,会应用重要声明的样式。
最后,回答题主的问题,如果两个规则的来源,特殊性完全相同,会应用后出现的规则。