淺談CSS 權值 層疊 重要性(!important)

1、特殊性 權值
有的時候我們?yōu)橥粋€元素設置了不同的CSS樣式代碼,那么元素會啟用哪一個CSS樣式呢?我們來看一下面的代碼:
- p{color:red;}
- .first{color:green;}
- <p class="first">三年級時,我還是一個<span>膽小如鼠</span>的小女孩。</p>
p和.first都匹配到了p這個標簽上,那么會顯示哪種顏色呢?green是正確的顏色,那么為什么呢?是因為瀏覽器是根據(jù)權值來判斷使用哪種css樣式的,權值高的就使用哪種css樣式。
下面是權值的規(guī)則:
標簽的權值為1,類選擇符的權值為10,ID選擇符的權值最高為100。例如下面的代碼:
- p{color:red;} /*權值為1*/
- p span{color:green;} /*權值為1+1=2*/
- .warning{color:white;} /*權值為10*/
- p span.warning{color:purple;} /*權值為1+1+10=12*/
- #footer .note p{color:yellow;} /*權值為100+10+1=111*/
注意:還有一個權值比較特殊--繼承也有權值但很低,有的文獻提出它只有0.1,所以可以理解為繼承的權值最低。
2、層疊
如果在html文件中對于同一個元素可以有多個css樣式存在并且這多個css樣式具有相同權重值怎么辦?好,這一小節(jié)中的層疊幫你解決這個問題。
層疊就是在html文件中對于同一個元素可以有多個css樣式存在,當有相同權重的樣式存在時,會根據(jù)這些css樣式的前后順序來決定,處于最后面的css樣式會被應用。
如下面代碼:
- p{color:red;}
- p{color:green;}
- <p class="first">三年級時,我還是一個<span>膽小如鼠</span>的小女孩。</p>
最后 p 中的文本會設置為green,這個層疊很好理解,理解為后面的樣式會覆蓋前面的樣式。
所以前面的css樣式優(yōu)先級就不難理解了:
內聯(lián)樣式表(標簽內部)> 嵌入樣式表(當前文件中)> 外部樣式表(外部文件中)。
3、重要性
我們在做網(wǎng)頁代碼的時,有些特殊的情況需要為某些樣式設置具有最高權值,怎么辦?這時候我們可以使用!important來解決。
如下代碼:
- p{color:red!important;}
- p{color:green;}
- <p class="first">三年級時,我還是一個<span>膽小如鼠</span>的小女孩。</p>
這時 p 段落中的文本會顯示的red紅色。
注意:!important要寫在分號的前面
這里注意當網(wǎng)頁制作者不設置css樣式時,瀏覽器會按照自己的一套樣式來顯示網(wǎng)頁。并且用戶也可以在瀏覽器中設置自己習慣的樣式,比如有的用戶習慣把字號設置為大一些,使其查看網(wǎng)頁的文本更加清楚。這時注意樣式優(yōu)先級為:瀏覽器默認的樣式 < 網(wǎng)頁制作者樣式 < 用戶自己設置的樣式,但記住!important優(yōu)先級樣式是個例外,權值高于用戶自己設置的樣式。
以上這篇淺談CSS 權值 層疊 重要性(!important)就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關文章
CSS中l(wèi)ink和@import的區(qū)別說明
link與@import這兩種方式都是為了加載CSS文件,但還是存在著細微的差別。下面腳本之家小編給大家介紹CSS中l(wèi)ink和@import的區(qū)別說明,感興趣的朋友一起看下吧2016-08-12- 這篇文章主要介紹了CSS中的@import,是CSS入門學習中的基礎知識,需要的朋友可以參考下2015-07-14
css中提升優(yōu)先級屬性!important的用法總結
!important只有Ie7.0和firefox可以識別,但是Ie6.0不能成功應用.!important提升優(yōu)先級,下面對它的用法做下總結2014-08-08- 這篇文章主要介紹了加了important標記css樣式的jQuery寫法,需要的朋友可以參考下2014-07-16
從可維護性角度考慮css的!important規(guī)則的可用性
使用!important對于性能并沒有什么負面影響。但是從可維護性角度考慮還是少用這個規(guī)則。不過這個規(guī)則在IE6中有bug2014-06-05- 一直以來寫CSS的時候都沒有過多的考慮使用@import的方式,最近又看到有朋友在討論關于@import的一些好壞,以及要不要使用@import的方式加載樣式,需要的朋友可以了解下2012-12-12
css中l(wèi)ink和@import的區(qū)別分析詳解
本文章詳細的介紹了關于link和@import的區(qū)別,有需要了解的朋友可以參考一下本文章2012-03-31- 我們引用css文件通常有兩種方式:link,@import 這兩天整理了一下這兩種用法的區(qū)別,加深認識2010-06-17
- 很多人,包括很多網(wǎng)站(我所見過的所有網(wǎng)站,包括國內著名的‘網(wǎng)頁設計師’網(wǎng)站),都說important是不被IE所支持和認識的,可是真的是這樣嗎?看了下邊的兩個例子,也許你2010-01-05
Webpack 中 css import 使用 alias 相對路徑的方法
在 Vue 項目中,我們通常使用 vue-webpack 腳手架生成工程模板,然后配置 @ 為項目根目錄下放資源和源碼的 /src 目錄的別名。這篇文章給大家介紹Webpack 中 css import 使2018-07-24