css important終級(jí)講解
發(fā)布時(shí)間:2010-01-05 17:28:49 作者:佚名
我要評(píng)論

很多人,包括很多網(wǎng)站(我所見(jiàn)過(guò)的所有網(wǎng)站,包括國(guó)內(nèi)著名的‘網(wǎng)頁(yè)設(shè)計(jì)師’網(wǎng)站),都說(shuō)important是不被IE所支持和認(rèn)識(shí)的,可是真的是這樣嗎?看了下邊的兩個(gè)例子,也許你會(huì)改變一些看法!
例一:
CSS
#box {
color:red !important;
color:blue;
}
HTML
<div id="Box"> 在不同的瀏覽器下,這行字的色應(yīng)該不同!</div>
這個(gè)例子應(yīng)該是大家經(jīng)常見(jiàn)到的important的用法了,在IE環(huán)境下,這行字是藍(lán)色,在firefox下,為紅色,其用法不再多說(shuō)了,看下一個(gè)例子。
例二:
CSS
1 #box div{
color:red;
}
2 .important_false{
color:blue;
}
important_true{
color:blue !important;
}
HTML
<div id="Box">
<div class="important_false">這一行末使用important</div>
<div class="important_true">這一行使用了important</div>
</div>
例二中,CSS代碼第一行設(shè)定了box里面所有div中字體色為紅色,第二行和第三行都用class重新定義了自身div的字體色為藍(lán)色,不同的是,第二行末使用important,而第三行使用了!
默認(rèn)情況下,class的優(yōu)先級(jí)小于id,所以,第二行中即使用class重定義了自身樣式,也無(wú)法生效,所以繼承父級(jí)屬性,這行字還是紅色!
但是,第三行中,用了important提升優(yōu)先級(jí)(或看成強(qiáng)制重定義),所以這里的css得以生效,這行字變?yōu)榱怂{(lán)色!
從這個(gè)例子,得以證明,ie對(duì)important的并不是不支持!
那么為什么很多人都說(shuō)ie不認(rèn)識(shí)它呢?我想應(yīng)該是大家實(shí)戰(zhàn)中可能都沒(méi)有遇到例子中的情況: 當(dāng)你想提升class的優(yōu)先級(jí)時(shí)怎么辦?
也就是說(shuō)大家可能都忽略了它的這一作用,只了解在命名為同一個(gè)元素的CSS代碼塊中,用它來(lái)提升排列順序相對(duì)靠前的代碼的優(yōu)先級(jí)(例一)!
通過(guò)上邊兩個(gè)例子,得以總結(jié):
important對(duì) 一個(gè)良好(或者是標(biāo)準(zhǔn))的瀏覽器來(lái)說(shuō),不僅僅是從順序上提升代碼的優(yōu)先級(jí),還可以用來(lái)提升class的優(yōu)先級(jí)(比如firefox),但是從IE對(duì)前者的不支持可以看出,這只是IE的一大BUG,而不能說(shuō)它“不認(rèn)識(shí)、不支持”!
然而,不管怎么樣,IE的這一大BUG幫助我們解決了很多兼容性問(wèn)題,這顯然不是件壞事!
CSS
復(fù)制代碼
代碼如下:#box {
color:red !important;
color:blue;
}
HTML
復(fù)制代碼
代碼如下:<div id="Box"> 在不同的瀏覽器下,這行字的色應(yīng)該不同!</div>
這個(gè)例子應(yīng)該是大家經(jīng)常見(jiàn)到的important的用法了,在IE環(huán)境下,這行字是藍(lán)色,在firefox下,為紅色,其用法不再多說(shuō)了,看下一個(gè)例子。
例二:
CSS
復(fù)制代碼
代碼如下:1 #box div{
color:red;
}
2 .important_false{
color:blue;
}
important_true{
color:blue !important;
}
HTML
復(fù)制代碼
代碼如下:<div id="Box">
<div class="important_false">這一行末使用important</div>
<div class="important_true">這一行使用了important</div>
</div>
例二中,CSS代碼第一行設(shè)定了box里面所有div中字體色為紅色,第二行和第三行都用class重新定義了自身div的字體色為藍(lán)色,不同的是,第二行末使用important,而第三行使用了!
默認(rèn)情況下,class的優(yōu)先級(jí)小于id,所以,第二行中即使用class重定義了自身樣式,也無(wú)法生效,所以繼承父級(jí)屬性,這行字還是紅色!
但是,第三行中,用了important提升優(yōu)先級(jí)(或看成強(qiáng)制重定義),所以這里的css得以生效,這行字變?yōu)榱怂{(lán)色!
從這個(gè)例子,得以證明,ie對(duì)important的并不是不支持!
那么為什么很多人都說(shuō)ie不認(rèn)識(shí)它呢?我想應(yīng)該是大家實(shí)戰(zhàn)中可能都沒(méi)有遇到例子中的情況: 當(dāng)你想提升class的優(yōu)先級(jí)時(shí)怎么辦?
也就是說(shuō)大家可能都忽略了它的這一作用,只了解在命名為同一個(gè)元素的CSS代碼塊中,用它來(lái)提升排列順序相對(duì)靠前的代碼的優(yōu)先級(jí)(例一)!
通過(guò)上邊兩個(gè)例子,得以總結(jié):
important對(duì) 一個(gè)良好(或者是標(biāo)準(zhǔn))的瀏覽器來(lái)說(shuō),不僅僅是從順序上提升代碼的優(yōu)先級(jí),還可以用來(lái)提升class的優(yōu)先級(jí)(比如firefox),但是從IE對(duì)前者的不支持可以看出,這只是IE的一大BUG,而不能說(shuō)它“不認(rèn)識(shí)、不支持”!
然而,不管怎么樣,IE的這一大BUG幫助我們解決了很多兼容性問(wèn)題,這顯然不是件壞事!
相關(guān)文章
CSS中l(wèi)ink和@import的區(qū)別說(shuō)明
link與@import這兩種方式都是為了加載CSS文件,但還是存在著細(xì)微的差別。下面腳本之家小編給大家介紹CSS中l(wèi)ink和@import的區(qū)別說(shuō)明,感興趣的朋友一起看下吧2016-08-12淺談CSS 權(quán)值 層疊 重要性(!important)
下面小編就為大家?guī)?lái)一篇淺談CSS 權(quán)值 層疊 重要性(!important)。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2016-08-05- 這篇文章主要介紹了CSS中的@import,是CSS入門學(xué)習(xí)中的基礎(chǔ)知識(shí),需要的朋友可以參考下2015-07-14
css中提升優(yōu)先級(jí)屬性!important的用法總結(jié)
!important只有Ie7.0和firefox可以識(shí)別,但是Ie6.0不能成功應(yīng)用.!important提升優(yōu)先級(jí),下面對(duì)它的用法做下總結(jié)2014-08-08加了important標(biāo)記css樣式的jQuery寫法
這篇文章主要介紹了加了important標(biāo)記css樣式的jQuery寫法,需要的朋友可以參考下2014-07-16從可維護(hù)性角度考慮css的!important規(guī)則的可用性
使用!important對(duì)于性能并沒(méi)有什么負(fù)面影響。但是從可維護(hù)性角度考慮還是少用這個(gè)規(guī)則。不過(guò)這個(gè)規(guī)則在IE6中有bug2014-06-05css @import url加載樣式應(yīng)用深入分析
一直以來(lái)寫CSS的時(shí)候都沒(méi)有過(guò)多的考慮使用@import的方式,最近又看到有朋友在討論關(guān)于@import的一些好壞,以及要不要使用@import的方式加載樣式,需要的朋友可以了解下2012-12-12css中l(wèi)ink和@import的區(qū)別分析詳解
本文章詳細(xì)的介紹了關(guān)于link和@import的區(qū)別,有需要了解的朋友可以參考一下本文章2012-03-31- 我們引用css文件通常有兩種方式:link,@import 這兩天整理了一下這兩種用法的區(qū)別,加深認(rèn)識(shí)2010-06-17
Webpack 中 css import 使用 alias 相對(duì)路徑的方法
在 Vue 項(xiàng)目中,我們通常使用 vue-webpack 腳手架生成工程模板,然后配置 @ 為項(xiàng)目根目錄下放資源和源碼的 /src 目錄的別名。這篇文章給大家介紹Webpack 中 css import 使2018-07-24