1
我在我的样式表两个相互竞争的规则:评分和排名规则的特异性
#parent > div {
color: blue;
}
#child {
color: red;
}
下面是相关的HTML:
<div id="parent">
<div id="child">What color is this text?</div>
<div>This should just be blue</div>
<div>Also should be blue</div>
</div>
为什么#child
蓝色,而不是红色?
我不知道我是否正确应用评分系统。以下是我做的:
- 规则#1有一个id和标签,所以它的得分是
[0, 1, 0, 1]
- 规则#2只具有一个ID,所以它的得分是因此
[0, 1, 0, 0]
- 规则#1胜,并且它是蓝色
但这似乎错我 - 第一条规则的多个元素相匹配;第二条规则只能匹配一个!那么第二个规则是不是更具体?
所以我的程序是正确的? – 2012-02-16 19:12:35
是的,这是正确的。 – BoltClock 2012-02-16 19:12:52
你也可以这样想:rule#1只适用于'div'元素,只要它们是ID为'#parent'的任何元素的子元素,而规则#2只适用于ID为#child的任何元素',无论它在HTML中。请注意这是如何使规则#2更具体?请记住,CSS本身并不知道它正在应用的实际HTML,因此我关于如何匹配元素的数量*不影响特异性的评论。 – BoltClock 2012-02-16 19:28:39