我们说我有这两个CSS规则:
*:selected {
background-color: @some_color;
}
.cell {
background-color: @base_color;
}
在找到具有类cell
的所选元素的情况下,两个规则都适用,但是哪一个是先例?元素应该以{{1}}还是以base_color
结尾?
(注意:我也添加了gtk标签,因为我想知道GTK + CSS引擎的行为是否与浏览器的行为方式相同。如果它不同,则可能是一个错误。)
答案 0 :(得分:4)
两个规则都具有[ 0 0 1 0 ]
的特异性,因此顺序由源顺序确定。
在这种情况下,.cell
稍后会在样式表中指定,因此会使用@base_color
。
顺便说一句,*
选择器的特异性为零。
答案 1 :(得分:0)
根据selector specificity的文档,特异性水平相同。因此,获胜规则属于级联,.cell
将优先。由于某些原因,文档没有明确说明,但是*
没有增加特异性(即,它显然不算作元素名称。)
* {} / * a = 0 b = 0 c = 0 d = 0 - >特异性= 0,0,0,0 * /