1

假设我有这两个 CSS 规则:

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

.cell {
    background-color: @base_color;
}

在找到带有 class 的 :selected 元素的情况下cell,这两个规则都适用,但是哪一个是先例?base_color元素应该以还是以结尾some_color

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

4

2 回答 2

4

两个规则具有相同的特异性[ 0 0 1 0 ],因此顺序由源顺序确定。

在这种情况下,.cell稍后在样式表中指定,因此@base_color将使用。

顺便说一下,*选择器的特异性为零。

于 2013-08-13T13:45:40.360 回答
0

根据selector specificity的文档,特异性级别是相同的。因此,获胜规则属于级联并.cell优先。由于某种原因,该文档没有明确说明,但*没有添加特异性(即,它显然不算作元素名称)。

* {} /* a=0 b=0 c=0 d=0 -> 特异性 = 0,0,0,0 */

于 2013-08-13T13:45:45.410 回答