IT培訓(xùn)網(wǎng)
IT在線學(xué)習(xí)
:nth-child和:nth-of-type都是css3的結(jié)構(gòu)偽類選擇器,和他們相關(guān)的還有一堆其他的結(jié)構(gòu)偽類選擇器,如果搞懂了這兩個(gè)選擇器的話,相應(yīng)的也能搞懂和他們相關(guān)的其他結(jié)構(gòu)偽類選擇器啦。
這兩個(gè)選擇器,可不像我們看起來(lái)的那么簡(jiǎn)單,他們的作用相近,卻又不完全一樣。
定義
我們先來(lái)看下這兩個(gè)選擇器的定義:
:nth-child(n) 選擇器匹配父元素中的第 n 個(gè)子元素,元素類型沒(méi)有限制。
:nth-of-type(n)選擇器匹配同類型中的第n個(gè)同級(jí)兄弟元素。
n可以是一個(gè)數(shù)字,一個(gè)關(guān)鍵字,或者一個(gè)公式。
寫個(gè)例子看下:
- <!DOCTYPE html>
- <html>
- <head>
- <meta charset="UTF-8">
- <title>:nth-child()和:nth-of-type()的區(qū)別</title>
- <style>
- .box p:nth-child(2){
- color:#fff;
- background: orange;
- }
- </style>
- </head>
- <body>
- <div class="box">
- <h2>我是h2標(biāo)簽</h2>
- <p>我是.box里的第二個(gè)子元素,我是第一個(gè)p標(biāo)簽</p>
- <p>我是.box里的第三個(gè)子元素,我是第二個(gè)p標(biāo)簽</p>
- </div>
- </body>
- </html>
效果如下:
- <!DOCTYPE html>
- <html>
- <head>
- <meta charset="UTF-8">
- <title>:nth-child()和:nth-of-type()的區(qū)別</title>
- <style>
- .box p:nth-of-type(2){
- color:#fff;
- background: orange;
- }
- </style>
- </head>
- <body>
- <div class="box">
- <h2>我是h2標(biāo)簽</h2>
- <p>我是.box里的第二個(gè)子元素,我是第一個(gè)p標(biāo)簽</p>
- <p>我是.box里的第三個(gè)子元素,我是第二個(gè)p標(biāo)簽</p>
- </div>
- </body>
- </html>
效果如下:
一個(gè)是.box p:nth-child(2),一個(gè)是.box p:nth-of-type(2),括號(hào)里面都2,但是效果卻不同。那么到底這兩個(gè)選擇器是什么意思呢?
分析:
我們?cè)賮?lái)看下結(jié)構(gòu):
.box的子元素有三個(gè),第一個(gè)是h2標(biāo)簽,第二個(gè)和第三個(gè)是p標(biāo)簽。
- <div class="box">
- <h2>我是h2標(biāo)簽</h2>
- <p>我是.box里的第二個(gè)子元素,我是第一個(gè)p標(biāo)簽</p>
- <p>我是.box里的第三個(gè)子元素,我是第二個(gè)p標(biāo)簽</p>
- </div>
.box p:nth-child(2)
.box p:nth-child(2)的效果是選擇出了第一個(gè)p標(biāo)簽,也就是.box里的第二個(gè)子元素。
翻譯下:
1.確定了選擇的是.box元素里面的p元素。
2.選擇的是.box的子元素里面àp元素à的父元素里面的à第二個(gè)子元素。
3.我們來(lái)分析下第二點(diǎn)到底是什么意思:”.box的子元素里面àp元素”指的是這兩個(gè)元素:
4.“ p元素à的父元素”指的就是.box這個(gè)元素:
>>本文地址:http://m.hqfphsz.com/zhuanye/2020/55049.html
聲明:本站稿件版權(quán)均屬中公教育優(yōu)就業(yè)所有,未經(jīng)許可不得擅自轉(zhuǎn)載。
1 您的年齡
2 您的學(xué)歷
3 您更想做哪個(gè)方向的工作?