了解CSS 選擇棄權重 & 關係選擇器

更新 發佈閱讀 5 分鐘

這次我們要來了解CSS 選擇棄權重 & 關係選擇器

CSS 選擇棄權重是指不同 CSS 選擇器之間,哪一條規則會優先生效 的「重要性分數」。

就是當多個CSS規則同時套用到同一個元素時,決定哪一個樣式「比較強」。

像是CSS:

p { color: blue; }       
.text { color: red; }
#title { color: green; }

HTML是:

<p id="title" class="text">Hello</p>

會長像以下圖片,會先顯示綠色(因為ID的權重最高)

raw-image







CSS 會依照選擇器的不同種類給不同分數:

選擇器種類                權重      舉例

行內樣式(Inline style) 1000 EX:<div style="color:red">

ID 選擇器 100 #header

Class / 偽類 / 屬性選擇器 10 .box, :hover, [type="text"]

標籤 / 偽元素 1 div, p, ::before

萬用選擇器 0 *

說白一點:inline style[<p style="">]> ID[#] > class/屬性/偽類[.] > 標籤/偽元素[p, div, h1]

##除非使用!important是強制蓋掉所有權重,是一招必殺技,贏過所有權種,需小心使用##



至於關係選擇器是指不是單獨的選擇器,而是「用來描述兩個選擇器之間關係的符號」

像是:

  • 空白:A B
  • 大於號:A > B
  • 加號:A + B
  • 波浪號:A ~ B

空白:A B,我們叫後代選擇器,是撰寫時「由左到右」列出每一代元素,元素之間使用「空白」分隔,並選取「最右側」的元素,此處的空白稱之為「結合子 combinator」,意思為「是...的一部分」

舉例CSS:

div p {
color: red;
}

HTML:

<div>
<p>這段會是紅色(第一層)</p>

<section>
<p>這段也會是紅色(第二層孫子)</p>
</section>
</div>

<p>這段不會是紅色(不在 div 裡)</p>

呈現出來會是這樣:

raw-image








  • div > p(孩子) → 會被選到
  • div > section > p(孫子) → 也會被選到
  • 外面的 <p> 不會選到


大於號:A > B,我們叫子代選擇器,意思子代選擇器只會選擇「下一層元素」( 也就是「兒子」概念 ),子代選擇器使用「>」符號分隔,> 前後可以加上空白,加上的空白不具任何意義。

舉例CSS:

div > p {
color: blue;
}

HTML:

<div>
<p>這段會變藍色(直屬孩子)</p>

<section>
<p>這段不會變藍色(孫子)</p>
</section>
</div>

呈現出來會是這樣:

raw-image







  • div 的「第一層」裡的 <p> 會中
  • 第二層以後的 <p> 都不會中


加號:A + B,叫相鄰兄弟選擇器表示「同一層並位於後方的特定元素」,弟選擇器使用「~」符號分隔,~ 前後可以加上空白,加上的空白不具任何意義。

舉例CSS:

h2 + p {
color: green;
}

HTML:

<h2>標題</h2>
<p>這段會是綠色(緊接在 h2 後)</p>
<p>這段不會變綠(因為前面不是 h2,而是 p)</p>

呈現出來會是這樣:

raw-image








  • 父元素 h2 ← A
  • p ← 第一個 B(被選到)
  • p ← 第二個 p,不選


波浪號:A ~ B,是叫一般兄弟選擇器,表示「同一層的後一個元素」,相鄰兄弟選擇器使用「+」符號分隔,+ 前後可以加上空白,加上的空白不具任何意義。

舉例CSS:

h2 ~ p {
color: purple;
}

HTML:

<p>這段不會變紫色</p>
<h2>標題</h2>
<p>這段會變紫色</p>
<p>這段也會變紫色</p>
<div>其他元素</div>
<p>這段還是會變紫色</p>

呈現出來會是這樣:

raw-image









只要你是:

  • h2 同一個父元素
  • 並且出現在它「後面」
  • 且是 <p>

就會被選到。



留言
avatar-img
留言分享你的想法!
avatar-img
睿哲楊的沙龍
1會員
7內容數
你可能也想看
Thumbnail
臺灣獨立調香師品牌 Sunkronizo,Friday : Sexy Vibe 淡香精,揉合威士忌、菸草、皮革、蜂蜜與花香的多層次魅力,讓知性自信與內斂的從容態度,從視覺、嗅覺都充分表現。
Thumbnail
臺灣獨立調香師品牌 Sunkronizo,Friday : Sexy Vibe 淡香精,揉合威士忌、菸草、皮革、蜂蜜與花香的多層次魅力,讓知性自信與內斂的從容態度,從視覺、嗅覺都充分表現。
Thumbnail
使台劇得以突破過往印象中偶像劇、鄉土劇等範疇,產製更多類型,甚至紅到國外、帶動台灣觀光的最重要原因,便是「隨選串流平台」服務在近十年的蓬勃發展,台灣人愛看串流的程度或許比你我想像中都高,高到連美國電影協會(MPA),都委託Frontier Economics進行研究
Thumbnail
使台劇得以突破過往印象中偶像劇、鄉土劇等範疇,產製更多類型,甚至紅到國外、帶動台灣觀光的最重要原因,便是「隨選串流平台」服務在近十年的蓬勃發展,台灣人愛看串流的程度或許比你我想像中都高,高到連美國電影協會(MPA),都委託Frontier Economics進行研究
Thumbnail
本文探討串流平臺(VOD)如何徹底改變好萊塢和臺灣影視產業的生態。從美國電影協會(MPA)的數據報告,揭示串流服務在臺灣的驚人普及率與在地內容的消費趨勢。文章分析國際作品如何透過在地化元素開拓新市場。同時,作者也擔憂政府過度監管可能扼殺臺灣影視創新自由,以越南為鑑,呼籲以開放態度擁抱串流時代的新機遇
Thumbnail
本文探討串流平臺(VOD)如何徹底改變好萊塢和臺灣影視產業的生態。從美國電影協會(MPA)的數據報告,揭示串流服務在臺灣的驚人普及率與在地內容的消費趨勢。文章分析國際作品如何透過在地化元素開拓新市場。同時,作者也擔憂政府過度監管可能扼殺臺灣影視創新自由,以越南為鑑,呼籲以開放態度擁抱串流時代的新機遇
Thumbnail
許多人習慣隱藏情緒,故作堅強,但其實內心飽受煎熬。文章描述了作者在職場與感情的壓力下,多次獨自承受痛苦,最終尋求心理諮商的過程。作者鼓勵讀者正視自己的脆弱,允許自己軟弱,並勇於尋求協助,強調「被聽見」的重要性。
Thumbnail
許多人習慣隱藏情緒,故作堅強,但其實內心飽受煎熬。文章描述了作者在職場與感情的壓力下,多次獨自承受痛苦,最終尋求心理諮商的過程。作者鼓勵讀者正視自己的脆弱,允許自己軟弱,並勇於尋求協助,強調「被聽見」的重要性。
Thumbnail
許多人習慣壓抑自我情緒,討好他人,害怕衝突與不被接納。心理學指出,真正的自由來自於誠實表達自我,而壓抑情緒會導致內心疲憊與空虛。文章提醒讀者允許自己說「不」、珍視自己的付出,並接納自身情緒,學習愛自己,建立健康的人際關係。
Thumbnail
許多人習慣壓抑自我情緒,討好他人,害怕衝突與不被接納。心理學指出,真正的自由來自於誠實表達自我,而壓抑情緒會導致內心疲憊與空虛。文章提醒讀者允許自己說「不」、珍視自己的付出,並接納自身情緒,學習愛自己,建立健康的人際關係。
Thumbnail
許多人總是為他人著想,習慣隱藏疲憊與情緒,以致身心俱疲。本文探討這些「為他人撐傘」的人,如何在兼顧善良的同時,學會善待自己,並提出五點建議:允許自己說「不」、別讓付出被視為理所當然、表達內心感受、照顧內在需求、擁抱不完美的自己。
Thumbnail
許多人總是為他人著想,習慣隱藏疲憊與情緒,以致身心俱疲。本文探討這些「為他人撐傘」的人,如何在兼顧善良的同時,學會善待自己,並提出五點建議:允許自己說「不」、別讓付出被視為理所當然、表達內心感受、照顧內在需求、擁抱不完美的自己。
Thumbnail
表達對已逝父親深沉的愛與感謝,以及未能及時表達的遺憾。
Thumbnail
表達對已逝父親深沉的愛與感謝,以及未能及時表達的遺憾。
Thumbnail
女兒在父親過世後,追憶與父親點滴,以及面對悲傷與思念的心情。
Thumbnail
女兒在父親過世後,追憶與父親點滴,以及面對悲傷與思念的心情。
Thumbnail
近期參與公司的專案開發,開始使用VB.Net來做介面設計與資料分析 身為有一點點強迫症的我,對於UI上GroupBox內的所放入的TextBox也好、DataGridview也好,總會希望與其他的控制元件可以整整齊齊對在同一條線上。 雖然有好用的拖拉控制元件,但常常盯著我的眼睛實在快要爆炸了。
Thumbnail
近期參與公司的專案開發,開始使用VB.Net來做介面設計與資料分析 身為有一點點強迫症的我,對於UI上GroupBox內的所放入的TextBox也好、DataGridview也好,總會希望與其他的控制元件可以整整齊齊對在同一條線上。 雖然有好用的拖拉控制元件,但常常盯著我的眼睛實在快要爆炸了。
Thumbnail
臨終不是告別,而是一種靜靜等待被理解的溫柔。本文描述作者陪伴一位老太太走完人生最後旅程的經歷,老太太積極面對死亡,並在臨終前感受到滿滿的生命氣息與被理解的溫暖。文章觸動人心,引發對生命、死亡與陪伴的深刻反思。
Thumbnail
臨終不是告別,而是一種靜靜等待被理解的溫柔。本文描述作者陪伴一位老太太走完人生最後旅程的經歷,老太太積極面對死亡,並在臨終前感受到滿滿的生命氣息與被理解的溫暖。文章觸動人心,引發對生命、死亡與陪伴的深刻反思。
Thumbnail
本文探討一位年輕女性因債務問題遭法院強制執行薪資,在面對法律與制度的冷漠時,她選擇透過寫作記錄自身經歷,並呼籲社會重視弱勢群體的聲音。
Thumbnail
本文探討一位年輕女性因債務問題遭法院強制執行薪資,在面對法律與制度的冷漠時,她選擇透過寫作記錄自身經歷,並呼籲社會重視弱勢群體的聲音。
Thumbnail
在租用 Bluehost 主機並使用 WordPress 平台建立屬於自己的部落格一年後,我決定暫時關閉自架網站,轉而使用方格子跟 Medium 搭配 Notion 筆記軟體來記錄分享學習與思考。這邊分成「一開始選擇自己架設網站的原因」、「架設網站的過程」、「想法的轉變」與「結語」說明
Thumbnail
在租用 Bluehost 主機並使用 WordPress 平台建立屬於自己的部落格一年後,我決定暫時關閉自架網站,轉而使用方格子跟 Medium 搭配 Notion 筆記軟體來記錄分享學習與思考。這邊分成「一開始選擇自己架設網站的原因」、「架設網站的過程」、「想法的轉變」與「結語」說明
追蹤感興趣的內容從 Google News 追蹤更多 vocus 的最新精選內容追蹤 Google News