關於:nth-child和:nth-of-type的區別之前一直沒太注意。最近打算深入了解一些CSS3,才發現里面其實暗藏玄機。
:nth-child可以選擇父元素下的字元素,:nth-of-type也可以。但是它們到底有什么區別呢?
其實區別很簡單::nth-of-type為什么要叫:nth-of-type?因為它是以"type"來區分的。也就是說:ele:nth-of-type(n)是指父元素下第n個ele元素,
而ele:nth-child(n)是指父元素下第n個元素且這個元素為ele,若不是,則選擇失敗。
這里附上一個小例子:
1 代碼如下: 2 3 4 <div> 5 <ul class="demo"> 6 <p>zero</p> 7 <li>one</li> 8 <li>two</li> 9 </ul> 10 </div>
上面這個例子,.demo li:nth-child(2)選擇的是<li>one</li>節點,而.demo li:nth-of-type(2)則選擇的是<li>two</li>節點。
現在應該明白他們的區別了吧!!