2015-10-09 6 views
5

学生の一人にnth-child()疑似セレクタについて教えていました。私は彼に尋ねました:nth-child疑似セレクタでHTML要素を選択できますか?彼の答えは「いいえ」でした。なぜならあなたはルートノードかhtml要素を選択できないからです。nth-childでhtml要素またはルートノードを選択できますか?

私の答えは、以前ははいだったので、私はこれを見落としていました。 nth-child()を使用してhtml要素を選択することはできますか?もしそうなら、どうですか?

私が知っておきたいのは、学生を教えている間に決定的な主張をしたとき、彼らは本当に決定的であり、可能なコーナーケースを見逃していないということです。

はあなたに

+0

あなたは私の例を与えることができますか?今日私の頭の中で質問を描くことはできません(脳死) – ochi

答えて

4

http://www.w3.org/TR/css3-selectors/#nth-child-pseudoありがとう:

「:n番目の子は(+ b)の擬似クラスの表記法は、ドキュメントツリーにその前に+ B-1兄弟を持つ要素を表し、、任意の正の整数またはnがゼロ値のと親要素を有している。」

1

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>

関連する問題