!important為開發(fā)者提供了一個增加樣式權(quán)重的方法。應(yīng)當(dāng)注意的是!important是對整條樣式的聲明,包括這個樣式的屬性和屬性值
<style type="text/css">
a{color:green!important;}
#main a{ color:blue;}
</style>
<div id="main">
<a>!important實例</a>
</div>
對于上面的代碼,如果不加important特性,則超鏈接的顏色為藍(lán)色,但是加上important之后優(yōu)先級提高了,顯示顏色為綠色。
<style>
#Box div{
color:red;
}
.important_false{
color:blue;
}
important_true{
color:blue !important;
}
</style>
<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)先級小于id,所以,第二行中即使用class重定義了自身樣式,也無法生效,所以繼承父級屬性,這行字還是紅色! 但是,第三行中,用了important提升優(yōu)先級(或看成強(qiáng)制重定義),所以這里的css得以生效,這行字變?yōu)榱怂{(lán)色!
另外有一個值得注意的地方,如果樣式這樣寫:
.testClass{
color:blue !important; color:red;
}
這種寫法在IE6下是識別不到 !important顯示為紅色,但也可以通過一下方法讓IE6識別到!important
這個屬性是CSS規(guī)范中的,但I(xiàn)E6不支持,也正是因為它不支持,才讓人找到了解決IE6和別的瀏覽器不兼容問題的辦法。
一般來說,在CSS中,如果在同一個CSS塊中寫兩個相同的屬性,那么是按照后出現(xiàn)的來執(zhí)行的,比如:
.body{
margin-left:20px;
margin-left:40px;
}
那么在執(zhí)行的時候其實是按照40px執(zhí)行的,!important的出現(xiàn)就是為了讓用戶自己設(shè)置被執(zhí)行語句的優(yōu)先級。如果把上面的語句改為:
.body{
margin-left:20px!important;
margin-left:40px;
}
或者
!important.body{
margin-left:20px;
margin-left:40px;
}
那么在火狐、google瀏覽器以及IE7以上版本將會按照20px來執(zhí)行,而在IE6下仍按照40px來執(zhí)行,因為IE6并不支持!important規(guī)范,我們可以按照這個規(guī)則來滿足IE6的設(shè)置需要,什么時候發(fā)現(xiàn)IE6和其他瀏覽器顯示效果不同,那么就設(shè)置兩個,在上面的一個加入
!important標(biāo)記,而下面的語句不需要添加,這樣IE6就按照下面的來執(zhí)行了。
.testClass{
color:blue !important;
}
.testClass{
color:red;
}
這里有個簡單的例子代碼,它清楚的演示了!important 如何影響應(yīng)用它的樣式的原本方式:在上面的例子代碼中,id為“example”的元素的文本大小為14px,這是因為補(bǔ)充了 !important。若若是沒有使用!important,第二個聲明塊本來會比第一個有更高的權(quán)重,出于以下兩個原因: 第二個聲明塊在樣式表的后面部分。而且,第二個聲明塊更加明確。(#container 后面的#example ,而不僅僅是#example)。但是,由于!important的接入,第一個font-size 規(guī)則變得更有權(quán)重。#example {
font-size: 14px !important;
}
#container #example {
font-size: 10px;
}
如對本文有疑問,請?zhí)峤坏浇涣髡搲?,廣大熱心網(wǎng)友會為你解答!! 點(diǎn)擊進(jìn)入論壇