<div> <p>第1-1個p元素</p> <section> <p>第2-1個p元素</p> <section>第2-1個section元素</section> <p>第2-2個p元素</p> <p>第2-3個p元素</p> </section> <section>第1-2個section元素</section> <section>第1-3個section元素</section> <section>第1-4個section元素</section> <p>第1-2個p元素</p> <p>第1-3個p元素</p> </div>
section > p, section > section { padding-left: 30px; } p:nth-of-type(2){ color: red; } p:nth-child(2){ background: red; } p.info:nth-of-type(2){ }
結果:p:nth-child(2) 無效spa
p:nth-of-type(2): 匹配父節點下的第二個是p的子節點
p:nth-child(2): 匹配父節點下第二個子節點同時第二個子節點爲p3d
<div> <p>1</p> <div class="foo"> <div class="foo">2-1</div> <div class="foo">2-2</div> </div> <p>3</p> <p class="foo">4</p> <p class="foo">5</p> </div>
.foo:nth-of-type(2) { color: red; }
效果:類名順序失效, 匹配每一級同一個類型的第二個標籤且類名爲foo的。
知足:nth-of-type(2)結果的爲<div class="foo">2-2</div>和<p>3</p>,可是<p>3</p>不匹配類名爲foo,因此最後匹配結果爲<div class="foo">2-2</div>code
<div> <p>1</p> <div class="foo"> <div class="foo">2-1</div> <div class="foo">2-2</div> <div class="foo">2-3</div> </div> <p>3</p> <p class="foo">4</p> <p class="foo">5</p> </div>
p.foo:nth-of-type(3) { color: red; }
結果:類名順序失效, 匹配每一級第三個p標籤且p標籤類名爲foo的。blog
匹配全部父級是<div>的<p>元素ip
匹配全部緊接着<div>元素以後的<p>元素it