搜尋
首頁web前端css教學nth-child與nth-of-type的元素在CSS中如何找到

這次帶給大家nth-child與nth-of-type的元素在CSS中如何查找,nth-child與nth-of-type元素在CSS中查找的注意事項有哪些,下面就是實戰案例,一起來看看。

nth-child和nth-of-type是css的兩個偽選擇子。在應用中,這兩者常常容易混淆。這裡把它們拿出來仔細做個對比,看看這兩者是怎麼找出元素的。

  1. nth-child(n) —— 尋找第n個子元素

  2. nth-of-type(n) —— 尋找相同類型元素裡的第n個元素

看這個定義也許還不是很清楚他們的差別,我們一點點來區分。

p:nth-child(2) 與p:nth-pf-type(2)

HTML程式碼如下

<p>
</p><p>
    </p><p>pgh1</p>
    <p>pgh2</p>
    <p>pgh3</p>
    <p>pgh4</p>

<p>
    </p><h5 id="p">p1</h5>
    <h5 id="p">p2</h5>
    <h5 id="p">p3</h5>
    <h5 id="p">p4</h5>

分別應用兩個樣式, 都是找第二個元素

p:nth-child(2) {
    color: red;
    font-weight:bold;
}
h5:nth-of-type(2) {
    color: blue;
    font-weight:bold;
}

結果:兩者都應用成功。

現在我們對HTML程式碼做點改動,讓他們出現一些不同。我們將第一個p元素和第一個h5元素改為label,程式碼如下:

<p>
</p><p>
    <label>pgh1</label>
    </p><p>pgh2</p>
    <p>pgh3</p>
    <p>pgh4</p>

<p>
    <label>p1</label>
    </p><h5 id="p">p2</h5>
    <h5 id="p">p3</h5>
    <h5 id="p">p4</h5>

樣式不變,這時再來看效果,發現nth-of-type(2)結果變了,這時高亮的是p3。到這裡也算符合我們的邏輯。 h5:nth-of-type(2)要找的是第二個h5類型的元素,也就是p3。

繼續改變HTML程式碼。我們恢復第一個p元素和第一個h5元素,將第二個p元素和第二個h5元素改為label,樣式仍不變,結果會怎麼樣呢?

HTML如下:

<p>
</p><p>
    </p><p>pgh1</p>
    <label>pgh2</label>
    <p>pgh3</p>
    <p>pgh4</p>

<p>
    </p><h5 id="p">p1</h5>
    <label>p2</label>
    <h5 id="p">p3</h5>
    <h5 id="p">p4</h5>

CSS 不變:

p:nth-child(2) {
    color: red;
    font-weight:bold;
}
h5:nth-of-type(2) {
    color: blue;
    font-weight:bold;
}

結果:nth-​​child沒有效果,nth-of-type高亮的是p3。

為什麼會這樣呢?

  1. nth-child 是尋找一堆兄弟元素裡的第二個元素,不管那個元素是什麼,只要它排行老二。這裡左側p找到的是,右側p找到的是。找到之後,再和前面的選擇符進行匹配,如果匹配對了,那就套用樣式。前面的選擇符是p,也就是要求元素是p類型,但這裡都是label,不匹配,兩個元素都不會套用這個樣式。

  2. nth-of-type 是在一堆兄弟元素裡找到相同HTML標記類型(Markup Type)元素中排行第二的元素。在左側的p中,

    pgh3

    是p類型裡排行第二的元素;在右側的p中,
    p3
    是h5類型裡排行第二的元素。找到之後,再和前面的選擇符進行匹配,如果匹配對了,那就套用樣式。前面的選擇符是h5, 那麼只有右側p的
    p3
    元素應用了樣式,左側p的

    pgh3

    則不會。

所以,nth-child和nth-of-type的不同之處就是找出元素的方式不同。前者是找出兄弟元素中某個絕對位置的元素,後者是尋找同類型元素中某個絕對位置的元素。同樣之處是,兩者都是找到元素之後再與前面的選擇符進行匹配,這裡的匹配方式是一樣的。

稍微往下延伸,清楚了查找方式,那麼不管前面的選擇符怎麼變,最後都是先查找到元素再與前面的選擇符進行匹配。也就是說選擇符與他們的尋找方式沒有關係。弄清楚這個就不會被不同的組合混淆了。

  1. p:nth-child(2) 正確:找出第二個元素,而這個元素是p。錯誤:找出第二個為p的元素

  2. .info:nth-child(2) 正確:找出第二個元素,而這個元素的class包含"info"。錯誤:尋找第二個class包含"info"的元素。

  3. p:nth-of-type(2) 尋找相同HTML標記類型中排行第二的元素,且這個元素是p(或直覺的說尋找第二個p類型元素)

  4. .info:nth-of-type(2) 尋找相同HTML標記類型中排行第二的元素,且這個元素的class包含"info"

相信看了本文案例你已經掌握了方法,更多精彩請關注php中文網其它相關文章!

推薦閱讀:

h5實作多重圖片預覽上傳及點選可拖曳控制項

CSS3混合模式使用詳解

以上是nth-child與nth-of-type的元素在CSS中如何找到的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
這麼多顏色鏈接這麼多顏色鏈接Apr 13, 2025 am 11:36 AM

最近有一系列有關顏色的工具,文章和資源。請允許我通過將它們四捨五之後關閉幾個標籤,以供您享受。

自動利潤在Flexbox中的工作方式自動利潤在Flexbox中的工作方式Apr 13, 2025 am 11:35 AM

羅賓以前已經介紹過這一點,但是我在過去的幾周里聽到了一些關於它的困惑,看到另一個人在解釋它,我想

移動彩虹移動彩虹Apr 13, 2025 am 11:27 AM

我絕對喜歡三明治網站的設計。在許多美麗的功能中,這些標題是滾動時帶有彩虹的下線。它不是

新年,新工作?讓我們做一個網格驅動的簡歷!新年,新工作?讓我們做一個網格驅動的簡歷!Apr 13, 2025 am 11:26 AM

許多流行的簡歷設計通過以網格形狀鋪設部分來充分利用可用的頁面空間。讓我們使用CSS網格創建一個佈局

將用戶擺脫過多習慣的一種方法將用戶擺脫過多習慣的一種方法Apr 13, 2025 am 11:25 AM

頁面重新加載是一回事。有時,當我們認為它沒有響應或認為新內容可用時,我們會刷新頁面。有時我們只是生氣

域驅動的設計與React域驅動的設計與ReactApr 13, 2025 am 11:22 AM

關於如何在React世界中組織前端應用的指導很少。 (只需移動文件,直到“感覺正確”,大聲笑)。真相

檢測非活動用戶檢測非活動用戶Apr 13, 2025 am 11:08 AM

大多數情況下,您並不真正在乎用戶是否積極參與或暫時非活動。不活躍,意思,也許他們

Wufoo ZapierWufoo ZapierApr 13, 2025 am 11:02 AM

Wufoo一直在集成方面非常出色。他們與特定應用程序(例如廣告系列顯示器,MailChimp和Typekit)進行集成,但他們也

See all articles

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

AI Hentai Generator

AI Hentai Generator

免費產生 AI 無盡。

熱門文章

R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
3 週前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳圖形設置
3 週前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您聽不到任何人,如何修復音頻
3 週前By尊渡假赌尊渡假赌尊渡假赌
WWE 2K25:如何解鎖Myrise中的所有內容
4 週前By尊渡假赌尊渡假赌尊渡假赌

熱工具

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

強大的PHP整合開發環境

SublimeText3 英文版

SublimeText3 英文版

推薦:為Win版本,支援程式碼提示!

DVWA

DVWA

Damn Vulnerable Web App (DVWA) 是一個PHP/MySQL的Web應用程序,非常容易受到攻擊。它的主要目標是成為安全專業人員在合法環境中測試自己的技能和工具的輔助工具,幫助Web開發人員更好地理解保護網路應用程式的過程,並幫助教師/學生在課堂環境中教授/學習Web應用程式安全性。 DVWA的目標是透過簡單直接的介面練習一些最常見的Web漏洞,難度各不相同。請注意,該軟體中

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

EditPlus 中文破解版

EditPlus 中文破解版

體積小,語法高亮,不支援程式碼提示功能