了解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的權重最高)

vocus|新世代的創作平台







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>

呈現出來會是這樣:

vocus|新世代的創作平台








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


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

舉例CSS:

div > p {
color: blue;
}

HTML:

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

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

呈現出來會是這樣:

vocus|新世代的創作平台







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


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

舉例CSS:

h2 + p {
color: green;
}

HTML:

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

呈現出來會是這樣:

vocus|新世代的創作平台








  • 父元素 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>

呈現出來會是這樣:

vocus|新世代的創作平台









只要你是:

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

就會被選到。



留言
avatar-img
睿哲楊的沙龍
2會員
18內容數
你可能也想看
Thumbnail
背景:從冷門配角到市場主線,算力與電力被重新定價   小P從2008進入股市,每一個時期的投資亮點都不同,記得2009蘋果手機剛上市,當時蘋果只要在媒體上提到哪一間供應鏈,隔天股價就有驚人的表現,當時光學鏡頭非常熱門,因為手機第一次搭上鏡頭可以拍照,也造就傳統相機廠的殞落,如今手機已經全面普及,題
Thumbnail
背景:從冷門配角到市場主線,算力與電力被重新定價   小P從2008進入股市,每一個時期的投資亮點都不同,記得2009蘋果手機剛上市,當時蘋果只要在媒體上提到哪一間供應鏈,隔天股價就有驚人的表現,當時光學鏡頭非常熱門,因為手機第一次搭上鏡頭可以拍照,也造就傳統相機廠的殞落,如今手機已經全面普及,題
Thumbnail
臨終不是告別,而是一種靜靜等待被理解的溫柔。本文描述作者陪伴一位老太太走完人生最後旅程的經歷,老太太積極面對死亡,並在臨終前感受到滿滿的生命氣息與被理解的溫暖。文章觸動人心,引發對生命、死亡與陪伴的深刻反思。
Thumbnail
臨終不是告別,而是一種靜靜等待被理解的溫柔。本文描述作者陪伴一位老太太走完人生最後旅程的經歷,老太太積極面對死亡,並在臨終前感受到滿滿的生命氣息與被理解的溫暖。文章觸動人心,引發對生命、死亡與陪伴的深刻反思。
Thumbnail
女兒在父親過世後,追憶與父親點滴,以及面對悲傷與思念的心情。
Thumbnail
女兒在父親過世後,追憶與父親點滴,以及面對悲傷與思念的心情。
Thumbnail
《轉轉生》(Re:INCARNATION)為奈及利亞編舞家庫德斯.奧尼奎庫與 Q 舞團創作的當代舞蹈作品,結合拉各斯街頭節奏、Afrobeat/Afrobeats、以及約魯巴宇宙觀的非線性時間,建構出關於輪迴的「誕生—死亡—重生」儀式結構。本文將從約魯巴哲學概念出發,解析其去殖民的身體政治。
Thumbnail
《轉轉生》(Re:INCARNATION)為奈及利亞編舞家庫德斯.奧尼奎庫與 Q 舞團創作的當代舞蹈作品,結合拉各斯街頭節奏、Afrobeat/Afrobeats、以及約魯巴宇宙觀的非線性時間,建構出關於輪迴的「誕生—死亡—重生」儀式結構。本文將從約魯巴哲學概念出發,解析其去殖民的身體政治。
Thumbnail
許多人總是為他人著想,習慣隱藏疲憊與情緒,以致身心俱疲。本文探討這些「為他人撐傘」的人,如何在兼顧善良的同時,學會善待自己,並提出五點建議:允許自己說「不」、別讓付出被視為理所當然、表達內心感受、照顧內在需求、擁抱不完美的自己。
Thumbnail
許多人總是為他人著想,習慣隱藏疲憊與情緒,以致身心俱疲。本文探討這些「為他人撐傘」的人,如何在兼顧善良的同時,學會善待自己,並提出五點建議:允許自己說「不」、別讓付出被視為理所當然、表達內心感受、照顧內在需求、擁抱不完美的自己。
Thumbnail
本文分析導演巴里・柯斯基(Barrie Kosky)如何運用極簡的舞臺配置,將布萊希特(Bertolt Brecht)的「疏離效果」轉化為視覺奇觀與黑色幽默,探討《三便士歌劇》在當代劇場中的新詮釋,並藉由舞臺、燈光、服裝、音樂等多方面,分析該作如何在保留批判核心的同時,觸及觀眾的觀看位置與人性幽微。
Thumbnail
本文分析導演巴里・柯斯基(Barrie Kosky)如何運用極簡的舞臺配置,將布萊希特(Bertolt Brecht)的「疏離效果」轉化為視覺奇觀與黑色幽默,探討《三便士歌劇》在當代劇場中的新詮釋,並藉由舞臺、燈光、服裝、音樂等多方面,分析該作如何在保留批判核心的同時,觸及觀眾的觀看位置與人性幽微。
Thumbnail
本文探討一位年輕女性因債務問題遭法院強制執行薪資,在面對法律與制度的冷漠時,她選擇透過寫作記錄自身經歷,並呼籲社會重視弱勢群體的聲音。
Thumbnail
本文探討一位年輕女性因債務問題遭法院強制執行薪資,在面對法律與制度的冷漠時,她選擇透過寫作記錄自身經歷,並呼籲社會重視弱勢群體的聲音。
Thumbnail
這是一場修復文化與重建精神的儀式,觀眾不需要完全看懂《遊林驚夢:巧遇Hagay》,但你能感受心與土地團聚的渴望,也不急著在此處釐清或定義什麼,但你的在場感受,就是一條線索,關於如何找著自己的路徑、自己的聲音。
Thumbnail
這是一場修復文化與重建精神的儀式,觀眾不需要完全看懂《遊林驚夢:巧遇Hagay》,但你能感受心與土地團聚的渴望,也不急著在此處釐清或定義什麼,但你的在場感受,就是一條線索,關於如何找著自己的路徑、自己的聲音。
Thumbnail
近期參與公司的專案開發,開始使用VB.Net來做介面設計與資料分析 身為有一點點強迫症的我,對於UI上GroupBox內的所放入的TextBox也好、DataGridview也好,總會希望與其他的控制元件可以整整齊齊對在同一條線上。 雖然有好用的拖拉控制元件,但常常盯著我的眼睛實在快要爆炸了。
Thumbnail
近期參與公司的專案開發,開始使用VB.Net來做介面設計與資料分析 身為有一點點強迫症的我,對於UI上GroupBox內的所放入的TextBox也好、DataGridview也好,總會希望與其他的控制元件可以整整齊齊對在同一條線上。 雖然有好用的拖拉控制元件,但常常盯著我的眼睛實在快要爆炸了。
Thumbnail
許多人習慣隱藏情緒,故作堅強,但其實內心飽受煎熬。文章描述了作者在職場與感情的壓力下,多次獨自承受痛苦,最終尋求心理諮商的過程。作者鼓勵讀者正視自己的脆弱,允許自己軟弱,並勇於尋求協助,強調「被聽見」的重要性。
Thumbnail
許多人習慣隱藏情緒,故作堅強,但其實內心飽受煎熬。文章描述了作者在職場與感情的壓力下,多次獨自承受痛苦,最終尋求心理諮商的過程。作者鼓勵讀者正視自己的脆弱,允許自己軟弱,並勇於尋求協助,強調「被聽見」的重要性。
Thumbnail
許多人習慣壓抑自我情緒,討好他人,害怕衝突與不被接納。心理學指出,真正的自由來自於誠實表達自我,而壓抑情緒會導致內心疲憊與空虛。文章提醒讀者允許自己說「不」、珍視自己的付出,並接納自身情緒,學習愛自己,建立健康的人際關係。
Thumbnail
許多人習慣壓抑自我情緒,討好他人,害怕衝突與不被接納。心理學指出,真正的自由來自於誠實表達自我,而壓抑情緒會導致內心疲憊與空虛。文章提醒讀者允許自己說「不」、珍視自己的付出,並接納自身情緒,學習愛自己,建立健康的人際關係。
Thumbnail
表達對已逝父親深沉的愛與感謝,以及未能及時表達的遺憾。
Thumbnail
表達對已逝父親深沉的愛與感謝,以及未能及時表達的遺憾。
追蹤感興趣的內容從 Google News 追蹤更多 vocus 的最新精選內容追蹤 Google News