01-:nth-child和:nth-of-type選擇器

一、:nth-child選擇器

1.1 用法

  • 格式
    p:nth-child(2){color:red}
  • 含義
    表示p元素的父類元素的第二個(gè)子元素是p標(biāo)簽,再這樣的前提下,那么它的樣式是:color=red

1.2 代碼

1.2.1 代碼實(shí)例01

選擇父元素是div的第三個(gè)子元素span,以及父元素是div的第六個(gè)子元素span。

  • css樣式
<style>
    span:nth-child(3){
      color: #ff0000;
    }
    span:nth-child(6){
      color: #3333ff;
    }
  </style>
  • html結(jié)構(gòu)
<body>
        <div>
            <p>墨雨love薏雪01</p>
            <p>墨雨love薏雪02</p>
            <span>第一個(gè)span標(biāo)簽</span>
            <p>墨雨love薏雪03</p>
            <p>墨雨love薏雪04</p>
            <span>第二個(gè)span標(biāo)簽</span>
            <p>墨雨love薏雪05</p>
            <span>第三個(gè)span標(biāo)簽</span>
        </div>
    </body>
  • 運(yùn)行效果
圖1-1 運(yùn)行結(jié)果

通過(guò)運(yùn)行效果可以看出,屬于其父元素的第三個(gè)子元素的span元素為藍(lán)色,屬于其父元素的第六個(gè)子元素的span元素為紅色。

1.2.2 代碼實(shí)例02

如果我想要選中屬于其父元素的第三個(gè)子元素的p元素呢,有符合條件的p元素嗎?

  • css樣式
 <style>
    p:nth-child(3){
      color: #ff0000;
    }
  </style>
  • html結(jié)構(gòu)
<body>
        <div>
            <p>墨雨love薏雪01</p>
            <p>墨雨love薏雪02</p>
            <span>第一個(gè)span標(biāo)簽</span>
            <p>墨雨love薏雪03</p>
            <p>墨雨love薏雪04</p>
            <span>第二個(gè)span標(biāo)簽</span>
            <p>墨雨love薏雪05</p>
            <span>第三個(gè)span標(biāo)簽</span>
        </div>
    </body>
  • 運(yùn)行效果


    圖1-2 運(yùn)行結(jié)果

上面給出的樣式是想將屬于父元素div的第三個(gè)子元素p變成紅色,但是,div的第三個(gè)子元素是span。所以并沒(méi)有符合條件的p元素存在,當(dāng)然也不會(huì)有對(duì)應(yīng)的效果了。

二、:nth-of-type選擇器

2.1 用法

  • 格式
    p:nth-of-type(2){color:red}
  • 含義
    在p元素的父類元素中,從出現(xiàn)p元素的地方開(kāi)始算起,且只算p元素的個(gè)數(shù),這樣的前提下,第2個(gè)標(biāo)簽的樣式為color=red。

2.2 代碼

2.2.1 代碼實(shí)例01

選擇屬于其父元素div的第三個(gè)p元素,以及屬于其父元素div的第一個(gè)span元素。

  • css樣式
<style>
      p:nth-of-type(3){
      color: #ff0000;
    }
      span:nth-of-type(1){
      color: #3333ff;
    }
  </style>
  • html結(jié)構(gòu)
<body>
        <div>
            <p>墨雨love薏雪01</p>
            <p>墨雨love薏雪02</p>
            <span>第一個(gè)span標(biāo)簽</span>
            <p>墨雨love薏雪03</p>
            <p>墨雨love薏雪04</p>
            <span>第二個(gè)span標(biāo)簽</span>
            <p>墨雨love薏雪05</p>
            <span>第三個(gè)span標(biāo)簽</span>
        </div>
    </body>
  • 運(yùn)行效果


    圖1-3 運(yùn)行結(jié)果

由上圖可以看出,nth-of-type是根據(jù)元素的類型來(lái)選擇的,碰到同一類型就+1。它不取決于只有在父元素的第n個(gè)元素的位置上的時(shí)候,才能達(dá)到效果。

它首先是在其父元素下的該元素的第幾個(gè),側(cè)重點(diǎn)變了。

2.2.2 代碼實(shí)例02

再來(lái)看看兩者的區(qū)別:
上代碼:

  • css樣式
<style>
  p:nth-child(4){
    color: #ff0000;
  }
  p:nth-of-type(4){
    color: #3333ff;
  }
</style>
  • html結(jié)構(gòu)
<body>
        <div>
            <p>墨雨love薏雪01</p>
            <p>墨雨love薏雪02</p>
            <span>第一個(gè)span標(biāo)簽</span>
            <p>墨雨love薏雪03</p>
            <p>墨雨love薏雪04</p>
            <span>第二個(gè)span標(biāo)簽</span>
            <p>墨雨love薏雪05</p>
            <span>第三個(gè)span標(biāo)簽</span>
        </div>
    </body>
  • 運(yùn)行效果
圖1-4 運(yùn)行結(jié)果

三、總結(jié)

nth-child :根據(jù)個(gè)數(shù)來(lái)計(jì)算
nth-of-type :根據(jù)類型來(lái)計(jì)算

@墨雨出品 必屬精品 如有雷同 純屬巧合
`非學(xué)無(wú)以廣才,非志無(wú)以成學(xué)!`
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 剛開(kāi)始學(xué)習(xí)選擇器,一開(kāi)始對(duì)偽類選擇器確實(shí)有點(diǎn)懵。昨天晚上自己動(dòng)手寫了寫,終于是慢慢搞懂了。下面對(duì)一些容易誤解的一些...
    婷樓沐熙閱讀 2,558評(píng)論 4 7
  • 作為前端和后臺(tái)最基礎(chǔ)可靠的神器工具JQuery,你真的對(duì)她有足夠了解么? 亞非拉地區(qū)苦逼的前端er們,有時(shí)候不得不...
    扭了個(gè)妞閱讀 407評(píng)論 0 0
  • 第一部分 HTML&CSS整理答案 1. 什么是HTML5? 答:HTML5是最新的HTML標(biāo)準(zhǔn)。 注意:講述HT...
    kismetajun閱讀 28,867評(píng)論 1 45
  • 選擇器 元素選擇符 關(guān)系選擇符 屬性選擇符 偽類選擇符 偽對(duì)象選擇符 一、元素選擇符 通配選擇符 (*):選擇所有...
    云外之境閱讀 1,958評(píng)論 0 0
  • 問(wèn)答題47 /72 常見(jiàn)瀏覽器兼容性問(wèn)題與解決方案? 參考答案 (1)瀏覽器兼容問(wèn)題一:不同瀏覽器的標(biāo)簽?zāi)J(rèn)的外補(bǔ)...
    _Yfling閱讀 14,189評(píng)論 1 92

友情鏈接更多精彩內(nèi)容