nth-child vs nth-of-type


注意:


https://www.digitalocean.com/community/tutorials/css-css-nth-child-vs-nth-of-type
https://css-tricks.com/examples/nth-child-tester/

結論:

nth-of-typeまず「選択者」をチェックします.nth-childは、まず(2 n+1)のような「論理」を計算する.
(不明な場合は、nth-of-typeが予想通りに動作します)


html

<div>
  <h1>나는 제목</h1>
  <p>문장 1</p>
  <p>문장 2</p>
  <p>문장 3</p>
  <p>문장 4</p>
  <h3>나는 부제목</h3>
  <p>문장 5</p>
  <p>문장 6</p>
  <p>문장 7</p>
</div> 

nth-child

div p:nth-child(odd) {
  color: red;
}

nth-schildはまず論理を計算するので,どのラベルであるかを考慮せずに奇数を先に選択する.
だから単数です.
<div>
  <h1>나는 제목</h1> // 홀
  <p>문장 1</p>     // 짝
  <p>문장 2</p>     // 홀
  <p>문장 3</p>     // 짝
  <p>문장 4</p>     // 홀
  <h3>나는 부제목</h3>// 짝
  <p>문장 5</p>     // 홀
  <p>문장 6</p>     // 짝
  <p>문장 7</p>     // 홀
</div> 
だから上のように変に見えます.

nth-of-type

div p:nth-of-type(odd) {
  color: red;
}

nth-of-typeはまずどのラベルを考慮するので、<p>でなければ奇数かどうかは判断されません.
<div>
  <h1>나는 제목</h1>
  <p>문장 1</p>     // 홀
  <p>문장 2</p>     // 짝
  <p>문장 3</p>     // 홀
  <p>문장 4</p>     // 짝
  <h3>나는 부제목</h3>
  <p>문장 5</p>     // 홀
  <p>문장 6</p>     // 짝
  <p>문장 7</p>     // 홀
</div> 
当初は柔道の授業をあまり書かなかったので、悩んでいませんでしたが、本当にcssを知れば知るほど、勉強が上手になり、フロントをすればするほど便利になりました.