为什么CSS直接子选择器将样式应用于间接子节点

Mic*_*uel 4 html css

我有以下HTML代码:

<div id="test">
<span>
    test 
    <span>test</span>
</span>        
</div>  
Run Code Online (Sandbox Code Playgroud)

以下CSS代码:

#test > span {
color: red;
}
Run Code Online (Sandbox Code Playgroud)

是不是上面的代码应该只选择测试div的直接子跨度?因此,只有第一个"测试"单词应为红色,但不应选择子跨度内的第二个"测试"单词.或者我弄错了?

Que*_*tin 12

在其他条件相同的情况下,范围的默认样式为:

span { color: inherit; }
Run Code Online (Sandbox Code Playgroud)

因此,虽然规则color: red;不会直接应用于规则,但它将从父元素的颜色中获取颜色.

为了比较,看看如果你明确说出会发生什么span { color: blue; }.