溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

CSS相鄰兄弟選擇器、子選擇器和兄弟選擇器怎么用

發(fā)布時間:2022-03-23 10:51:29 來源:億速云 閱讀:168 作者:iii 欄目:web開發(fā)

本文小編為大家詳細(xì)介紹“CSS相鄰兄弟選擇器、子選擇器和兄弟選擇器怎么用”,內(nèi)容詳細(xì),步驟清晰,細(xì)節(jié)處理妥當(dāng),希望這篇“CSS相鄰兄弟選擇器、子選擇器和兄弟選擇器怎么用”文章能幫助大家解決疑惑,下面跟著小編的思路慢慢深入,一起來學(xué)習(xí)新知識吧。

  前言:我們在碼代碼的時候,經(jīng)常會遇到需要給第一個或者最后一個元素添加或刪除樣式,還有一些比較特殊的是選取第幾個元素添加或刪除樣式,下面記錄css選擇器中常見的選擇器:相鄰兄弟選擇器(+)、子選擇器(>)、兄弟選擇器(——)、first-child、:last-child、:nth-child()、:nth-last-child()的用法。

  相鄰兄弟選擇器(+)

  相鄰兄弟選擇器可選擇緊接在另一個元素后的元素,且二者具有相同的父親元素。注釋:與子結(jié)合符一樣,相鄰兄弟結(jié)合符旁邊可以有空白符。

  器。

  在學(xué)習(xí)上有什么疑問隨時可以找我我,與大家分享互聯(lián)網(wǎng)web前端實戰(zhàn)操作,無論你是否有基礎(chǔ),我都?xì)g迎。點:前端技術(shù)分享

  <!DOCTYPE html>

  <html>

  <head>

  <meta http-equiv="Content-Type" content="text/html; charset=utf-8">

  <title>相鄰兄弟選擇器</title>

  <style type="text/css">

  h2+p{

  color:red;

  }

  </style>

  </head>

  <body>

  <p>Hello word!</p>

  <p>Hello word!</p>

  <h2>Hello word!</h2>

  <p>Hello word!</p>

  <p>Hello word!</p>

  <p>Hello word!</p>

  <p>Hello word!</p>

  </body>

  </html>

  效果圖如下:

  兄弟只會影響下面的p標(biāo)簽的樣式,不影響上面兄弟的樣式。

  注意這里的&rsquo;+&rsquo;的意義跟&rsquo;and&rsquo;意義不一樣,兄弟選擇器的樣式是應(yīng)用在兄弟元素上,跟參照的元素樣式無關(guān),如上例只影響p元素的樣式,而不影響h2標(biāo)簽的樣式。

  當(dāng)然這個也會循環(huán)查找,即當(dāng)兩個兄弟元素相同時,會再一次循環(huán)查找:

  示例:

  <style type="text/css">

  li + li {

  color:red;

  }

  </style>

  <div>

  <ul>

  <li>List item 1</li>

  <li>List item 2</li>

  <li>List item 3</li>

  </ul>

  </div>

  可以看出第一個li字體顏色沒有變紅,第二個和第三個元素字體變紅,這就是因為第三個li是第二個li的兄弟元素,所以也會應(yīng)用樣式。

  兄弟選擇器(&mdash;&mdash;)

  作用是查找某一個指定元素的后面的所有兄弟結(jié)點。

  示例代碼:

  <style type="text/css">

  h2 &mdash;&mdash; p{

  color:red;

  }

  </style>

  </head>

  <body>

  <p>1</p>

  <h2>2</h2>

  <p>3</p>

  <p>4</p>

  <p>5</p>

  </body>

  效果展示:

  后代選擇器(包含選擇器)

  可以選擇某元素后代的元素(子子孫孫元素)

  子選擇器(>)

  只能選擇作為某元素兒子元素的元素,不包括孫元素、曾孫元素等等等。

  后代選擇器,子選擇器和相鄰兄弟選擇器結(jié)合使用示例:

  請看下面這個選擇器:

  html > body table + ul {margin-top:20px;}

  這個選擇器解釋為:選擇緊接在 table 元素后出現(xiàn)的第一個相鄰兄弟 ul 元素,該 table 元素包含在一個 body 元素中,body 元素本身是 html 元素的子元素。

 ?。篺irst-child 選擇器

  li:first-child

  {

  background:yellow;

  }

  <ul>

  <li>咖啡</li>

  <li>茶</li>

  <li>可口可樂</li>

  </ul>

  <ol>

  <li>咖啡</li>

  <li>茶</li>

  <li>可口可樂</li>

  </ol>

  效果圖

  值得注意的是,如果其父元素的第一個元素(p)不是該指定類型元素(li),則第一個元素不會有樣式

  li:first-child

  {

  background:yellow;

  }

  <ol>

  <p>測試</p>

  <li>咖啡</li>

  <li>茶</li>

  <li>可口可樂</li>

  </ol>

  效果圖

 ?。簂ast-child選擇器

 ?。簂ast-child 選擇器匹配屬于其父元素的最后一個子元素的每個元素。

  提示:p:last-child 等同于 p:nth-last-child(1)。

  eg:指定屬于其父元素的最后一個子元素的 p 元素的背景色:

  p:last-child

  {

  background:#ff0000;

  }

  <body>

  <h2>這是標(biāo)題</h2>

  <p>第一個段落。</p>

  <p>第二個段落。</p>

  <p>第三個段落。</p>

  <p>第四個段落。</p>

  <p>第五個段落。</p>

  </body>

  效果:

  說明:p標(biāo)簽的父元素是body,body標(biāo)簽中最后一個p元素是第五個段落

 ?。簄th-child()

 ?。簄th-child() 選擇器,該選擇器選取父元素的第 N 個子元素,與類型無關(guān)。

  p:nth-child(2)

  {

  background:#ff0000;

  }

  <body>

  <h2>這是標(biāo)題</h2>

  <p>第一個段落。</p>

  <p>第二個段落。</p>

  <p>第三個段落。</p>

  <p>第四個段落。</p>

  <p><b>注釋:</b>Internet Explorer 不支持 :nth-child() 選擇器。</p>

  </body>

  :nth-child()的詳細(xì)用法

  nth-child(3) 表示選擇列表中的第三個元素。

  nth-child(2n)表示列表中的偶數(shù)標(biāo)簽,即選擇第2、第4、第6&hellip;&hellip;標(biāo)簽

  nth-child(2n-1) 表示選擇列表中的奇數(shù)標(biāo)簽,即選擇 第1、第3、第5、第7&hellip;&hellip;標(biāo)簽

  nth-child(n+3) 表示選擇列表中的標(biāo)簽從第3個開始到最后(>=3)

  nth-child(-n+3) 表示選擇列表中的標(biāo)簽從0到3,即小于3的標(biāo)簽(<=3)

  nth-last-child(3) 表示選擇列表中的倒數(shù)第3個標(biāo)簽

 ?。簄th-of-type(n)

 ?。簄th-of-type(n) 選擇器匹配屬于父元素的特定類型的第 N 個子元素的每個元素。

  n 可以是數(shù)字、關(guān)鍵詞或公式。

  p:nth-of-type(2)

  {

  background:#ff0000;

  }

  <body>

  <h2>這是標(biāo)題</h2>

  <p>第一個段落。</p>

  <div>測試</div>

  <p>第二個段落。</p>

  <p>第三個段落。</p>

  <p>第四個段落。</p>

  <p>第五個段落。</p>

  </body>

  效果圖:

  :nth-last-child() 選擇器

 ?。簄th-last-child(n) 選擇器匹配屬于其元素的第 N 個子元素的每個元素,不論元素的類型,從最后一個子元素開始計數(shù)。

  n 可以是數(shù)字、關(guān)鍵詞或公式。

  提示:請參閱 :nth-last-of-type() 選擇器,該選擇器選取父元素的第 N 個指定類型的子元素,從最后一個子元素開始計數(shù)。

  CSS3 :not 選擇器

  :not(selector) 選擇器匹配非指定元素/選擇器的每個元素。

  擴(kuò)展

  菜單欄右邊框的實現(xiàn)方法有多種,結(jié)合上面介紹的選擇器,實現(xiàn)方法分別如下:

  一、常規(guī)方法:

  。nav li{

  border-right:1px solid #fff;

  }

  。nav li:last-child{

  border-right-width:0px;

  }

  二:結(jié)合相鄰兄弟選擇器(+)

  。nav li + li{

  border-left:1px solid #fff;

  }

  三、結(jié)合兄弟選擇器(&mdash;&mdash;)

  。nav li:first-child &mdash;&mdash; li{

  border-left:1px solid #fff;

  }

  四、結(jié)合:not()選擇器

  。nav li:not(:last-child){

  border-right:1px solid #fff;

  }

讀到這里,這篇“CSS相鄰兄弟選擇器、子選擇器和兄弟選擇器怎么用”文章已經(jīng)介紹完畢,想要掌握這篇文章的知識點還需要大家自己動手實踐使用過才能領(lǐng)會,如果想了解更多相關(guān)內(nèi)容的文章,歡迎關(guān)注億速云行業(yè)資訊頻道。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

css
AI