在 CSS 中的權重
CSS
#CSS #Notes 在 CSS 中經常會遇到需要覆蓋樣式的情況,這通常涉及到 CSS 的權重問題。當多個 CSS 使用在同一個元素並且產生衝突時,就會根據權重來決定最終的樣式為何。
權重比
首先要先知道在CSS選擇器中的各個權重
選擇器:ID > Class > HTML標籤
比值:100 : 10 : 1
EX.1:
.header .title h1{ /* 權重為10+10+1 */
font-size: 24px;
}
EX.2:
#menu{ /* 權重為100 */
display: flex;
justify-content: space-between;
}
若權重相同
在選擇器的權重都相同時
最後面的會覆蓋掉前面的
EX.1:
.wrap{
background-color: #000000;
}
.wrap{ /* 覆蓋 background-color: #000000; */
background-color: #f92672;
}
!important
但如果你的CSS寫到權重非常大,階層非常多時
你會變得很難去覆蓋掉它
可以使用important
前面講的ID、Class、HTML權重都沒有important來的高
important的權重為10000
使用方法
.footer{
color: black !important; /* 權重10000,優先度最高 */
font-size: 24px !important; /* 權重10000,優先度最高 */
}
但通常到這時候,程式在維護或擴充時也會很困難麻煩
所以還是要盡量避免使用!important比較好