您可以选择html元素或具有n -child的根节点吗?



我在教我的一个学生关于nth-child()伪选择器的知识,我问他:你能用nth-child伪选择器选择任何可能的HTML元素吗?他的回答是否定的,因为你不能选择根节点,更不能选择html元素。

我自己也忽略了这一点,因为在过去,我的答案是肯定的。是否可以使用nth-child()来选择html元素?如果有,怎么做?

我想知道,所以当我在教学生时做出明确的要求时,他们真的是明确的,没有忽视任何可能的极端情况。

谢谢

http://www.w3.org/TR/css3-selectors/#nth-child-pseudo:

":n -child(an+b)伪类符号表示在文档树中有一个+b-1兄弟元素的元素,对于n的任何正整数或零值,并且有一个父元素。"

nth-child(n)应选择每个元素。除了html元素之外,它确实存在,因为html是一个根元素,没有父元素。正如CBroe指出的那样,父元素是必需的。

body {
    border: 5px solid black;
    margin: 10px;
}
html {
    border: 5px dashed red;
}
:nth-child(n) {
    border: 5px dotted blue;
}
<body>
    <ul>
        <li>first</li>
        <li>second</li>
        <li>kevin</li>
    </ul>
</body>

最新更新