还有什么先例:CSS类或带有*选择器的伪类?

时间:2013-08-13 13:37:10

标签: css gtk

我们说我有这两个CSS规则:

*:selected {
    background-color: @some_color;
}

.cell {
    background-color: @base_color;
}

在找到具有类cell的所选元素的情况下,两个规则都适用,但是哪一个是先例?元素应该以{{1​​}}还是以base_color结尾?

(注意:我也添加了gtk标签,因为我想知道GTK + CSS引擎的行为是否与浏览器的行为方式相同。如果它不同,则可能是一个错误。)

2 个答案:

答案 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 * /