我在教我的一个学生关于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>