Html 为什么CSS部分:唯一的子选择器不起作用?

Html 为什么CSS部分:唯一的子选择器不起作用?,html,css,css-selectors,pseudo-class,Html,Css,Css Selectors,Pseudo Class,我只是在摆弄新的HTML5标签和伪选择器,注意到“独生子选择器”部分似乎不起作用。我正在最新版本的Chrome(23.0)上进行测试 我的代码是: <section id="s1"> <div id="div1">abc</div> <div id="div2"> <span>first span</span> <span class="sp">second spa

我只是在摆弄新的HTML5标签和伪选择器,注意到“独生子选择器”部分似乎不起作用。我正在最新版本的Chrome(23.0)上进行测试

我的代码是:

<section id="s1">
    <div id="div1">abc</div>
    <div id="div2">
        <span>first span</span>
        <span class="sp">second span</span>
    </div>
</section>

<section>
    <div>first child test</div>
</section>​
理论上,文本“first child test”应该是黄色的,因为在第二部分中只有一个div,但是它没有得到字体的黄色

如果我将选择器更改为div:only-child,它将正常工作

您可以在这里看到JSFIDLE:

有什么原因导致这不起作用吗

谢谢这条规则:

section:only-child
匹配一个
元素,该元素是
唯一的子元素

此规则(请注意空格):


匹配一个元素,该元素是
节的
唯一子项

x:only child
表示
x
元素是其父元素的唯一子元素,而不是说
x
只有一个子元素。

您似乎没有任何
元素是
唯一的子元素。你希望这条规则符合什么?继续被空格咬下去……谢谢@robertc,这正是我想要的。更确切地说,如果你想要
部分的独生子女,你应该使用
而不是空格:
部分>:独生子女。后跟
:only child
的空格表示其父项的唯一子项,父项可以是
节,也可以不是
section:only-child
section :only-child