先看一個(gè)簡(jiǎn)單的實(shí)例,首先是HTML部分:
<section> <p>我是第1個(gè)p標(biāo)簽</p> <p>我是第2個(gè)p標(biāo)簽</p> <!-- 希望這個(gè)變紅 --> </section>
然后兩個(gè)選擇器相對(duì)應(yīng)的CSS代碼如下:
p:nth-child(2) { color: red; }
p:nth-of-type(2) { color: red; }
上面這個(gè)例子中,這兩個(gè)選擇器所實(shí)現(xiàn)的效果是一致的,第二個(gè)p標(biāo)簽的文字變成了紅色:
盡管上面兩個(gè)demo的最后效果一致,但是兩個(gè)選擇器之間存在差異是必然的。
對(duì)于:nth-child
選擇器,在簡(jiǎn)單白話(huà)文中,意味著選擇一個(gè)元素:
1、這是個(gè)段落元素
2、這是父標(biāo)簽的第二個(gè)孩子元素
對(duì)于:nth-of-type
選擇器,意味著選擇一個(gè)元素:
1、選擇父標(biāo)簽的第二個(gè)段落子元素
我們把上面的實(shí)例稍作修改,就可以看到這兩個(gè)選擇器之間的差異表現(xiàn)了,如下HTML代碼:
<section> <div>我是一個(gè)普通的div標(biāo)簽</div> <p>我是第1個(gè)p標(biāo)簽</p> <p>我是第2個(gè)p標(biāo)簽</p> <!-- 希望這個(gè)變紅 --> </section>
還是與上面例子一致的CSS測(cè)試代碼:
p:nth-child(2) { color: red; }
p:nth-of-type(2) { color: red; }
這時(shí)候兩個(gè)選擇器所渲染的結(jié)果就不一樣了。
p:nth-child(2)其渲染的結(jié)果不是第二個(gè)p標(biāo)簽文字變紅,而是第一個(gè)p標(biāo)簽,也就是父標(biāo)簽的第二個(gè)子元素。
p:nth-of-type(2)的表現(xiàn)顯得很堅(jiān)挺,其把希望渲染的第二個(gè)p標(biāo)簽染紅了。
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持。
【網(wǎng)站聲明】本站除付費(fèi)源碼經(jīng)過(guò)測(cè)試外,其他素材未做測(cè)試,不保證完整性,網(wǎng)站上部分源碼僅限學(xué)習(xí)交流,請(qǐng)勿用于商業(yè)用途。如損害你的權(quán)益請(qǐng)聯(lián)系客服QQ:2655101040 給予處理,謝謝支持。