CSS樣式選擇器的權(quán)重之重塑三觀

關(guān)于css權(quán)重,前端開發(fā)者大概能想到:!important優(yōu)先級(jí)最高,內(nèi)聯(lián)樣式次之军拟,然后是css樣式文件顯示最后的樣式選擇器。</br>
?周末看了《CSS權(quán)威指南》的第三章-結(jié)構(gòu)和層疊誓禁,感觸很深懈息。整理了一下讀書筆記,分享給大家摹恰!</br>
?頁面顯示樣式的優(yōu)先級(jí)取決于其“特殊性”’辫继,特殊性越高,就顯示最高的俗慈,當(dāng)特殊性相等時(shí)姑宽,顯示后者。只要弄明白特殊性的高低闺阱,對于選擇器的權(quán)重就能迎刃而解炮车。</br>
?三觀重塑從特殊性的概念開始,非常重要!特殊性表述為4個(gè)部分:0,0,0,0示血。一個(gè)選擇器的特殊性如下確定:
??1.對于選擇器是#id的屬性值,特殊性值為:0,1,0,0
??2.對于屬性選擇器棋傍、class或偽類,特殊性值為:0,0,1,0
** ??3.對于標(biāo)簽選擇器或偽元素难审,特殊性值為:0,0,0,1**
** ??4.通配符‘*’對特殊性值為:0,0,0,0 所以通配符對與選擇器來說不會(huì)影響其特殊性值瘫拣,但對繼承屬性的時(shí)候會(huì)有影響,后面會(huì)講解告喊。**

例如:

h1{color:red;} /* specificity = 0,0,0,1  */
p em{color: purple;} /* specificity = 0,0,0,2  */
.grape{color:purple;} /* specificity = 0,0,1,0  */
*.bright{color:yellow;} /* specificity = 0,0,1,0 */
p.bright em.dark{color:maroon;} /* specificity = 0,0,2,2 */ **
#id216 {color:blue;} /* specificity = 0,1,0,0 */
div#sidebar *[href] {color:silver;} /* specificity = 0,1,1,1 */ ******

這里的4部分特殊性的值沒有所謂的進(jìn)位麸拄,從左往右比較,比如:0,1,0,0 比 0,0,6,7大黔姜,所以0,1,0,0的優(yōu)先級(jí)更高拢切。
通過上面的解釋,應(yīng)該能明白特殊性值的取值秆吵,下面通過幾個(gè)有代表性的例子來重塑你的三觀淮椰!

h1.title{color:blue} /* specificity = 0,0,1,1 */
.title{color:red;} /* specificity = 0,0,1,0 */
<h1 class="title">hello world</h1>

這個(gè)h1標(biāo)題的字體顏色就是blue,因?yàn)樗奶厥庑灾蹈吣杉拧#ㄒ恍┏鯇W(xué)者以為當(dāng)這種情況的時(shí)候顯示后者主穗,其實(shí)和選擇器在css文件的位置無關(guān)!1形摺:雒健)

#side-content{color:black;}  /* specificity = 0,1,0,0 */
html>body ul li[name="list"] {color:white;} /* specificity = 0,0,1,4 */
<li id="side-content">側(cè)邊欄列表</li> 

這里 li 的字體顏色是black,因?yàn)樘厥庑灾底罡摺?br> 最前面0開頭的特殊性腋粥,第一個(gè)位置是留給內(nèi)聯(lián)樣式的晦雨,所以當(dāng)出現(xiàn)如下的時(shí)候,內(nèi)聯(lián)樣式的特殊性值高

body#box{background:red;} /* specificity = 0,1,0,1 */
<body style="background:blue"></body> /* specificity = 1,0,0,0 */
背景色顯示blue

還有一個(gè)超凡脫俗的隘冲,換上神裝的聲明:!important 闹瞧。它的優(yōu)先級(jí)最高,直接鄙視前面講的特殊性值展辞!當(dāng)出現(xiàn) !important聲明屬性時(shí)奥邮,顯示 !important聲明的屬性。
?關(guān)于通配符“*”的特殊性值:0,0,0,0 雖然對其他選擇器沒有影響纵竖,但是對繼承屬性還是有作用的漠烧,比如:

<p>hello <em>world</em></p>
*{color:gray} 
p{color:red}

因?yàn)閏olor屬性具有繼承特性,p聲明了顏色為red靡砌,em標(biāo)簽也繼承了color:red已脓;雖然通配符的特殊性值為0,但是有總比沒有強(qiáng)(我對這種解釋其實(shí)無語的通殃,但是我也不知道怎么解釋度液,只能搬書上的一句話了)厕宗。所以通配符“*”比繼承特性的優(yōu)先級(jí)高,如下圖堕担。
<img src="http://upload-images.jianshu.io/upload_images/2711211-ab01ebb57f30e732.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240" width="200" height="200" alt="繼承和通配符優(yōu)先級(jí)" >

最后一個(gè)就是當(dāng)特殊性相等的時(shí)候:

h1{color:red;} /* specificity = 0,0,0,1 */
h1{color:blue}/* specificity = 0,0,0,1 */

顯示后者已慢,頁面h1字體顏色顯示blue。
?相信你對樣式權(quán)重有了新的認(rèn)知吧霹购,哈哈佑惠,樹立正確的三觀的感覺真好!F敫怼膜楷!

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市贞奋,隨后出現(xiàn)的幾起案子赌厅,更是在濱河造成了極大的恐慌,老刑警劉巖轿塔,帶你破解...
    沈念sama閱讀 217,542評(píng)論 6 504
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件特愿,死亡現(xiàn)場離奇詭異,居然都是意外死亡勾缭,警方通過查閱死者的電腦和手機(jī)揍障,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,822評(píng)論 3 394
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來漫拭,“玉大人亚兄,你說我怎么就攤上這事混稽〔勺ぃ” “怎么了?”我有些...
    開封第一講書人閱讀 163,912評(píng)論 0 354
  • 文/不壞的土叔 我叫張陵匈勋,是天一觀的道長礼旅。 經(jīng)常有香客問我,道長洽洁,這世上最難降的妖魔是什么痘系? 我笑而不...
    開封第一講書人閱讀 58,449評(píng)論 1 293
  • 正文 為了忘掉前任,我火速辦了婚禮饿自,結(jié)果婚禮上汰翠,老公的妹妹穿的比我還像新娘。我一直安慰自己昭雌,他們只是感情好复唤,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,500評(píng)論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著烛卧,像睡著了一般佛纫。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,370評(píng)論 1 302
  • 那天呈宇,我揣著相機(jī)與錄音好爬,去河邊找鬼。 笑死甥啄,一個(gè)胖子當(dāng)著我的面吹牛存炮,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播蜈漓,決...
    沈念sama閱讀 40,193評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼僵蛛,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了迎变?” 一聲冷哼從身側(cè)響起充尉,我...
    開封第一講書人閱讀 39,074評(píng)論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎衣形,沒想到半個(gè)月后驼侠,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,505評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡谆吴,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,722評(píng)論 3 335
  • 正文 我和宋清朗相戀三年倒源,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片句狼。...
    茶點(diǎn)故事閱讀 39,841評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡笋熬,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出腻菇,到底是詐尸還是另有隱情胳螟,我是刑警寧澤,帶...
    沈念sama閱讀 35,569評(píng)論 5 345
  • 正文 年R本政府宣布筹吐,位于F島的核電站糖耸,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏丘薛。R本人自食惡果不足惜嘉竟,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,168評(píng)論 3 328
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望洋侨。 院中可真熱鬧舍扰,春花似錦、人聲如沸希坚。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,783評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽吏够。三九已至勾给,卻和暖如春滩报,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背播急。 一陣腳步聲響...
    開封第一講書人閱讀 32,918評(píng)論 1 269
  • 我被黑心中介騙來泰國打工脓钾, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人桩警。 一個(gè)月前我還...
    沈念sama閱讀 47,962評(píng)論 2 370
  • 正文 我出身青樓可训,卻偏偏與公主長得像,于是被迫代替她去往敵國和親捶枢。 傳聞我的和親對象是個(gè)殘疾皇子握截,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,781評(píng)論 2 354

推薦閱讀更多精彩內(nèi)容

  • 問答題47 /72 常見瀏覽器兼容性問題與解決方案? 參考答案 (1)瀏覽器兼容問題一:不同瀏覽器的標(biāo)簽?zāi)J(rèn)的外補(bǔ)...
    _Yfling閱讀 13,751評(píng)論 1 92
  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理烂叔,服務(wù)發(fā)現(xiàn)谨胞,斷路器,智...
    卡卡羅2017閱讀 134,656評(píng)論 18 139
  • 國家電網(wǎng)公司企業(yè)標(biāo)準(zhǔn)(Q/GDW)- 面向?qū)ο蟮挠秒娦畔?shù)據(jù)交換協(xié)議 - 報(bào)批稿:20170802 前言: 排版 ...
    庭說閱讀 10,967評(píng)論 6 13
  • 最近在閱讀和學(xué)習(xí)一些心理學(xué)知識(shí)蒜鸡,調(diào)控情緒理清生活的困惑胯努,下面就來和大家分享一下幾點(diǎn),在社交和生活中幫助您成為一個(gè)更...
    菜菜子Yonan閱讀 388評(píng)論 1 3
  • 我常常是個(gè)睡眠很淺的人逢防,即使在城市里已然很深的夜叶沛,我依舊會(huì)被路上經(jīng)過的車聲吵醒,如此往復(fù)忘朝,為原本就淺的睡眠更是添上...
    長腿學(xué)姐閱讀 504評(píng)論 0 7