新手程式筆記(三)

更新 發佈閱讀 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
睿哲楊的沙龍
0會員
4內容數
你可能也想看
Thumbnail
Sunkronizo 的 Playful Heart 是一款帶著明亮果香與柔和木質調的甜感香水,特別適合星期四使用。前調活潑、尾韻沉靜,陪你從忙碌過渡到週末的輕鬆心情。適合喜歡果香、花果香調的女性,也很適合作為溫暖又有個性的送禮選擇。可於官網、Pinkoi 選購,11 月底起於臺中國家歌劇院寄售。
Thumbnail
Sunkronizo 的 Playful Heart 是一款帶著明亮果香與柔和木質調的甜感香水,特別適合星期四使用。前調活潑、尾韻沉靜,陪你從忙碌過渡到週末的輕鬆心情。適合喜歡果香、花果香調的女性,也很適合作為溫暖又有個性的送禮選擇。可於官網、Pinkoi 選購,11 月底起於臺中國家歌劇院寄售。
Thumbnail
根據美國電影協會(MPA)主辦的「串流服務如何推動臺灣創意經濟」論壇內容,深入探討串流平臺對臺灣影視產業的影響、數據分析、政府政策建議、內容國際化策略,以及臺灣與「韓流」的差距。文章提出 awwrated 在串流生態系中的潛在角色,強調數據、策略與自信是臺灣影視產業發展的關鍵。
Thumbnail
根據美國電影協會(MPA)主辦的「串流服務如何推動臺灣創意經濟」論壇內容,深入探討串流平臺對臺灣影視產業的影響、數據分析、政府政策建議、內容國際化策略,以及臺灣與「韓流」的差距。文章提出 awwrated 在串流生態系中的潛在角色,強調數據、策略與自信是臺灣影視產業發展的關鍵。
Thumbnail
許多人習慣隱藏情緒,故作堅強,但其實內心飽受煎熬。文章描述了作者在職場與感情的壓力下,多次獨自承受痛苦,最終尋求心理諮商的過程。作者鼓勵讀者正視自己的脆弱,允許自己軟弱,並勇於尋求協助,強調「被聽見」的重要性。
Thumbnail
許多人習慣隱藏情緒,故作堅強,但其實內心飽受煎熬。文章描述了作者在職場與感情的壓力下,多次獨自承受痛苦,最終尋求心理諮商的過程。作者鼓勵讀者正視自己的脆弱,允許自己軟弱,並勇於尋求協助,強調「被聽見」的重要性。
Thumbnail
許多人習慣壓抑自我情緒,討好他人,害怕衝突與不被接納。心理學指出,真正的自由來自於誠實表達自我,而壓抑情緒會導致內心疲憊與空虛。文章提醒讀者允許自己說「不」、珍視自己的付出,並接納自身情緒,學習愛自己,建立健康的人際關係。
Thumbnail
許多人習慣壓抑自我情緒,討好他人,害怕衝突與不被接納。心理學指出,真正的自由來自於誠實表達自我,而壓抑情緒會導致內心疲憊與空虛。文章提醒讀者允許自己說「不」、珍視自己的付出,並接納自身情緒,學習愛自己,建立健康的人際關係。
Thumbnail
許多人總是為他人著想,習慣隱藏疲憊與情緒,以致身心俱疲。本文探討這些「為他人撐傘」的人,如何在兼顧善良的同時,學會善待自己,並提出五點建議:允許自己說「不」、別讓付出被視為理所當然、表達內心感受、照顧內在需求、擁抱不完美的自己。
Thumbnail
許多人總是為他人著想,習慣隱藏疲憊與情緒,以致身心俱疲。本文探討這些「為他人撐傘」的人,如何在兼顧善良的同時,學會善待自己,並提出五點建議:允許自己說「不」、別讓付出被視為理所當然、表達內心感受、照顧內在需求、擁抱不完美的自己。
Thumbnail
表達對已逝父親深沉的愛與感謝,以及未能及時表達的遺憾。
Thumbnail
表達對已逝父親深沉的愛與感謝,以及未能及時表達的遺憾。
Thumbnail
女兒在父親過世後,追憶與父親點滴,以及面對悲傷與思念的心情。
Thumbnail
女兒在父親過世後,追憶與父親點滴,以及面對悲傷與思念的心情。
Thumbnail
近期參與公司的專案開發,開始使用VB.Net來做介面設計與資料分析 身為有一點點強迫症的我,對於UI上GroupBox內的所放入的TextBox也好、DataGridview也好,總會希望與其他的控制元件可以整整齊齊對在同一條線上。 雖然有好用的拖拉控制元件,但常常盯著我的眼睛實在快要爆炸了。
Thumbnail
近期參與公司的專案開發,開始使用VB.Net來做介面設計與資料分析 身為有一點點強迫症的我,對於UI上GroupBox內的所放入的TextBox也好、DataGridview也好,總會希望與其他的控制元件可以整整齊齊對在同一條線上。 雖然有好用的拖拉控制元件,但常常盯著我的眼睛實在快要爆炸了。
追蹤感興趣的內容從 Google News 追蹤更多 vocus 的最新精選內容追蹤 Google News