亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 開發 > CSS > 正文

詳解CSS nth-child與nth-of-type的元素查找方式

2024-07-11 08:58:56
字體:
來源:轉載
供稿:網友

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代碼如下

<div><div style="float:left;width:200px;">    <p>pgh1</p>    <p>pgh2</p>    <p>pgh3</p>    <p>pgh4</p></div><div style="float:left;width:200px;">    <h5>div1</h5>    <h5>div2</h5>    <h5>div3</h5>    <h5>div4</h5></div>

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

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

結果:兩者都應用成功。

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

<div><div style="float:left;width:200px;">    <label>pgh1</label>    <p>pgh2</p>    <p>pgh3</p>    <p>pgh4</p></div><div style="float:left;width:200px;">    <label>div1</label>    <h5>div2</h5>    <h5>div3</h5>    <h5>div4</h5></div>

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

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

HTML如下:

<div><div style="float:left;width:200px;">    <p>pgh1</p>    <label>pgh2</label>    <p>pgh3</p>    <p>pgh4</p></div><div style="float:left;width:200px;">    <h5>div1</h5>    <label>div2</label>    <h5>div3</h5>    <h5>div4</h5></div>

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高亮的是div3。

為什么會這樣呢?

  1. nth-child 是查找一堆兄弟元素里的第二個元素,不管那元素是什么,只要它排行老二。這里左側div找到的是<label>pgh2</label>,右側div找到的是<label>div2</label>。找到之后,再和前面的選擇符進行匹配,如果匹配對了,那就應用樣式。前面的選擇符是p,也就是要求元素是p類型,但這里都是label,不匹配,兩個元素都不會應用這個樣式。
  2. nth-of-type 是在一堆兄弟元素里找到相同HTML標記類型(Markup Type)元素中排行第二的元素。在左側的div中,<p>pgh3</p>是p類型里排行第二的元素;在右側的div中,<h5>div3</h5>是h5類型里排行第二的元素。找到之后,再和前面的選擇符進行匹配,如果匹配對了,那就應用樣式。前面的選擇符是h5, 那么只有右側div的<h5>div3</h5>元素應用了樣式,左側div的<p>pgh3</p>則不會。

所以,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"

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持武林網。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
亚洲日本中文字幕免费在线不卡| 中文字幕日韩av电影| 青青a在线精品免费观看| 欧美做爰性生交视频| 亚洲国产精品网站| 国产不卡视频在线| 亚洲人成网站在线播| 欧美日韩综合视频网址| 51视频国产精品一区二区| 日韩中文字幕免费| 在线免费看av不卡| 久久久久久午夜| 成人a在线视频| 日韩精品一二三四区| 精品香蕉一区二区三区| 中文字幕最新精品| 日韩欧美在线免费| 国产精品久久久久久av| 国产精品久久久久久中文字| 狠狠久久亚洲欧美专区| 国产精品一区二区女厕厕| 有码中文亚洲精品| 欧美老少做受xxxx高潮| 亚洲一区二区三区乱码aⅴ| 中文综合在线观看| 久久久久久久久久婷婷| 97国产精品久久| 国产999精品久久久影片官网| 欧美大人香蕉在线| 欧美性猛交xxxx富婆弯腰| 欧美日韩国产色视频| 九九热这里只有在线精品视| 色哟哟入口国产精品| 国产午夜精品久久久| 91亚洲精品一区二区| 成人黄色短视频在线观看| 国产精品久久久久久中文字| 97久久久久久| 日韩欧美精品中文字幕| 国产中文字幕亚洲| 色视频www在线播放国产成人| 亚洲欧美激情一区| 久久久精品国产亚洲| 欧美男插女视频| 欧美高清电影在线看| 中文字幕在线成人| 日韩成人免费视频| 91av免费观看91av精品在线| 国产精品视频网| 亚洲免费人成在线视频观看| www.亚洲人.com| 日韩av网址在线| 亚洲第一色在线| 日韩中文字幕第一页| 亚洲精品国产精品国自产观看浪潮| 欧美丝袜一区二区| 国内精品免费午夜毛片| 欧美成年人视频网站| 久久久久99精品久久久久| 成人黄色免费看| 日韩女优人人人人射在线视频| 大伊人狠狠躁夜夜躁av一区| 久久影院模特热| 亚洲最大av在线| 欧美性xxxxx| 亚洲欧美日韩国产中文专区| 欧美最顶级的aⅴ艳星| 欧美激情精品久久久久| 久久久国产精品一区| 91夜夜揉人人捏人人添红杏| 美日韩精品免费观看视频| 国产精品扒开腿做爽爽爽视频| 亚洲一区亚洲二区亚洲三区| 国产999视频| 国产精品男女猛烈高潮激情| 久久久久久中文字幕| 欧美在线观看一区二区三区| 亚洲免费电影在线观看| 亚洲欧美日本伦理| 中文字幕在线成人| 大桥未久av一区二区三区| 91av视频在线免费观看| 亚洲欧美色图片| 久久久亚洲影院你懂的| 国产精品白丝av嫩草影院| 欧美激情精品久久久久| 亚洲人成77777在线观看网| 亚洲aa在线观看| 久久久久久久久久亚洲| 亚洲综合成人婷婷小说| 国产精品久久久久9999| 国产精品吊钟奶在线| 中文字幕在线观看日韩| 韩日精品中文字幕| 日韩成人性视频| 亚洲成年人在线| 97精品国产97久久久久久春色| 国产精品国产三级国产aⅴ9色| 国产欧美一区二区白浆黑人| 国产精品一区久久| 亚洲女人被黑人巨大进入| 国产91精品最新在线播放| 亚洲成人亚洲激情| 日韩视频中文字幕| 国产亚洲视频中文字幕视频| 国产一区二区三区视频| 日韩中文字幕欧美| 亚州国产精品久久久| 亚洲人在线视频| 国产精品一区二区三区毛片淫片| 成人中心免费视频| 成人激情春色网| 美女啪啪无遮挡免费久久网站| 不卡av在线网站| 亚洲欧洲日产国码av系列天堂| 国产一区二区三区直播精品电影| 亚洲日本aⅴ片在线观看香蕉| 国产婷婷成人久久av免费高清| 欧美一级电影久久| 91精品国产综合久久久久久蜜臀| 色999日韩欧美国产| 国产精品一区二区性色av| 热久久免费视频精品| 曰本色欧美视频在线| 国产成人亚洲综合青青| 精品性高朝久久久久久久| 中文字幕精品一区二区精品| 狠狠躁天天躁日日躁欧美| 欧美在线日韩在线| 欧美精品制服第一页| 最近中文字幕mv在线一区二区三区四区| 日韩电影中文字幕| 久久久国产精彩视频美女艺术照福利| 亚洲国内精品视频| 国产精品丝袜高跟| 51ⅴ精品国产91久久久久久| 欧美日本在线视频中文字字幕| 国产人妖伪娘一区91| 这里只有精品丝袜| 日韩中文理论片| 欧美黑人巨大精品一区二区| 国产精品爽爽ⅴa在线观看| 国产一区二区三区欧美| 欧美多人乱p欧美4p久久| 精品国产一区二区三区久久久| 精品久久久久久中文字幕| 欧美视频在线观看免费| 亚洲自拍欧美另类| 茄子视频成人在线| 国产精品久久久久影院日本| 亚洲自拍欧美另类| 欧美日韩在线免费观看| 国产精品最新在线观看| 久久99精品久久久久久琪琪| 午夜精品一区二区三区av| 欧美久久久精品| 国产精品日韩欧美大师| 91丝袜美腿美女视频网站| 欧美激情国产精品| 一区二区三区美女xx视频| 亚洲视屏在线播放| 欧美日韩亚洲91| 久久精品99国产精品酒店日本| 久久久久久久电影一区|