CSS 優(yōu)先級

概念

瀏覽器通過優(yōu)先級來判斷哪一些屬性值與一個元素最為相關(guān)净当,從而在該元素上應(yīng)用這些屬性值。優(yōu)先級基于由各種選擇器組成的匹配規(guī)則。

樣式的優(yōu)先級

多重樣式(Multiple Styles):如果外部樣式往湿、內(nèi)部樣式和內(nèi)聯(lián)樣式同時應(yīng)用于同一個元素,就是使多重樣式的情況惋戏。

一般情況下领追,優(yōu)先級如下:
(外部樣式) <(內(nèi)部樣式) <(內(nèi)聯(lián)樣式)

有個例外的情況,就是如果外部樣式放在內(nèi)部樣式后面响逢,則外部樣式將覆蓋內(nèi)部樣式绒窑。

選擇器的優(yōu)先權(quán)

Paste_Image.png

解釋:

  1. 內(nèi)聯(lián)樣式表的權(quán)值最高 1000;
  2. ID 選擇器的權(quán)值為 100
  3. Class 類選擇器的權(quán)值為 10
  4. HTML 標(biāo)簽選擇器的權(quán)值為 1
    <html>
    <head>
    <style type="text/css">
    #redP p {
    /* 權(quán)值 = 100+1=101 /
    color:#F00; /
    紅色 /
    }
    #redP .red em {
    /
    權(quán)值 = 100+10+1=111 /
    color:#00F; /
    藍(lán)色 /
    }
    #redP p span em {
    /
    權(quán)值 = 100+1+1+1=103 /
    color:#FF0;/
    黃色*/
    }
    </style>
    </head>
    <body>
    <div id="redP">
    <p class="red">red

    <span><em>em red</em></span>
    </p>
    <p>red</p>
    </div>
    </body>
    </html>
    最后結(jié)果為:
    Paste_Image.png

優(yōu)先級法則

  • 選擇器都有一個權(quán)值舔亭,權(quán)值越大越優(yōu)先些膨;
  • 當(dāng)權(quán)值相等時,后出現(xiàn)的樣式表設(shè)置要優(yōu)于先出現(xiàn)的樣式表設(shè)置钦铺;
  • 創(chuàng)作者的規(guī)則高于瀏覽者:即網(wǎng)頁編寫者設(shè)置的CSS 樣式的優(yōu)先權(quán)高于瀏覽器所設(shè)置的樣式傀蓉;
  • 繼承的CSS 樣式不如后來指定的CSS 樣式;
  • 在同一組屬性設(shè)置中標(biāo)有!important規(guī)則的優(yōu)先級最大

修改樣式

<style type="text/css">
        #redP p {
            /* 權(quán)值 = 100+1=101 */
            color:#F00;  
        }
        #redP .red em {
            /* 權(quán)值 = 100+10+1=111 */
            color:#00F; 
        }
        #redP p span em {
            /* 權(quán)值 = 100+1+1+1=103 */
            color:#FF0 !important;
        }
</style>

則結(jié)果為:

Paste_Image.png

!important

當(dāng)在一個樣式聲明上使用 !important 規(guī)則時职抡,該樣式聲明會覆蓋CSS中任何其他的聲明葬燎。使用 !important 是一個壞習(xí)慣,應(yīng)該盡量避免缚甩,因?yàn)檫@打斷了樣式表中的固有的級聯(lián)規(guī)則谱净。當(dāng)兩條相互沖突的帶有!important 規(guī)則的聲明被應(yīng)用到相同的元素上時,擁有更大優(yōu)先級的聲明將會被采用擅威。

一些經(jīng)驗(yàn)法則:

  • Never 永遠(yuǎn)不要在全站范圍的 css 上使用 !important
  • Only 只在需要覆蓋全站或外部 css(例如引用的 ExtJs 或者 YUI )的特定頁面中使用 !important
  • Never 永遠(yuǎn)不要在你的插件中使用 !important
  • Always 要優(yōu)化考慮使用樣式規(guī)則的優(yōu)先級來解決問題而不是 !important

取而代之壕探,你可以:

  • 善用 CSS 的級聯(lián)屬性
    使用更多具體的規(guī)則。比如在你需要選定的對象元素前加上更多的元素郊丛,使選擇的范圍縮小李请,你的選擇器就變得更有針對性瞧筛,從而提高優(yōu)先級:
    <div id="test"> <span>Text</span></div>
    #test span { color: green }span { color: red }div span { color: blue }
    無論你c?ss語句的順序是什么樣的,文本都會是綠色的(green)导盅,因?yàn)檫@一條規(guī)則是最有針對性较幌、優(yōu)先級最高的。(同理白翻,無論語句順序怎樣乍炉,藍(lán)色(blue)的規(guī)則都會覆蓋紅色(red)的規(guī)則)

怎樣覆蓋掉 !important

  • 再加一條 !important的CSS語句,將其應(yīng)用到更高優(yōu)先級的選擇器(在原有基礎(chǔ)上添加額外的標(biāo)簽滤馍、類或 ID 選擇器)上
  • 保持選擇器一樣岛琼,但添加的位置需要在原有聲明的后面(優(yōu)先級相同的情況下,后邊定義的會覆蓋前邊定義的)巢株。
  • 使用相同的選擇器槐瑞,但是置于已有的樣式之后
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市阁苞,隨后出現(xiàn)的幾起案子困檩,更是在濱河造成了極大的恐慌,老刑警劉巖猬错,帶你破解...
    沈念sama閱讀 206,602評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件窗看,死亡現(xiàn)場離奇詭異,居然都是意外死亡倦炒,警方通過查閱死者的電腦和手機(jī)显沈,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,442評論 2 382
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來逢唤,“玉大人拉讯,你說我怎么就攤上這事”钆海” “怎么了魔慷?”我有些...
    開封第一講書人閱讀 152,878評論 0 344
  • 文/不壞的土叔 我叫張陵,是天一觀的道長著恩。 經(jīng)常有香客問我院尔,道長,這世上最難降的妖魔是什么喉誊? 我笑而不...
    開封第一講書人閱讀 55,306評論 1 279
  • 正文 為了忘掉前任邀摆,我火速辦了婚禮,結(jié)果婚禮上伍茄,老公的妹妹穿的比我還像新娘栋盹。我一直安慰自己,他們只是感情好敷矫,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,330評論 5 373
  • 文/花漫 我一把揭開白布例获。 她就那樣靜靜地躺著汉额,像睡著了一般。 火紅的嫁衣襯著肌膚如雪榨汤。 梳的紋絲不亂的頭發(fā)上蠕搜,一...
    開封第一講書人閱讀 49,071評論 1 285
  • 那天,我揣著相機(jī)與錄音件余,去河邊找鬼讥脐。 笑死遭居,一個胖子當(dāng)著我的面吹牛啼器,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播俱萍,決...
    沈念sama閱讀 38,382評論 3 400
  • 文/蒼蘭香墨 我猛地睜開眼端壳,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了枪蘑?” 一聲冷哼從身側(cè)響起损谦,我...
    開封第一講書人閱讀 37,006評論 0 259
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎岳颇,沒想到半個月后照捡,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 43,512評論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡话侧,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 35,965評論 2 325
  • 正文 我和宋清朗相戀三年栗精,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片瞻鹏。...
    茶點(diǎn)故事閱讀 38,094評論 1 333
  • 序言:一個原本活蹦亂跳的男人離奇死亡悲立,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出新博,到底是詐尸還是另有隱情薪夕,我是刑警寧澤,帶...
    沈念sama閱讀 33,732評論 4 323
  • 正文 年R本政府宣布赫悄,位于F島的核電站原献,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏埂淮。R本人自食惡果不足惜姑隅,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,283評論 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望同诫。 院中可真熱鬧粤策,春花似錦、人聲如沸误窖。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,286評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至柔吼,卻和暖如春毒费,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背愈魏。 一陣腳步聲響...
    開封第一講書人閱讀 31,512評論 1 262
  • 我被黑心中介騙來泰國打工觅玻, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人培漏。 一個月前我還...
    沈念sama閱讀 45,536評論 2 354
  • 正文 我出身青樓溪厘,卻偏偏與公主長得像,于是被迫代替她去往敵國和親牌柄。 傳聞我的和親對象是個殘疾皇子畸悬,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,828評論 2 345

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