五月综合缴情婷婷六月,色94色欧美sute亚洲线路二,日韩制服国产精品一区,色噜噜一区二区三区,香港三级午夜理伦三级三

您現(xiàn)在的位置: 365建站網(wǎng) > 365文章 > css中!important的屬性和用法

css中!important的屬性和用法

文章來源:365jz.com     點(diǎn)擊數(shù):608    更新時間:2018-06-02 11:20   參與評論

!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)用它的樣式的原本方式:

#example {
       font-size: 14px !important;
}
#container #example {
       font-size: 10px;
}

在上面的例子代碼中,id為“example”的元素的文本大小為14px,這是因為補(bǔ)充了 !important。若若是沒有使用!important,第二個聲明塊本來會比第一個有更高的權(quán)重,出于以下兩個原因: 第二個聲明塊在樣式表的后面部分。而且,第二個聲明塊更加明確。(#container 后面的#example ,而不僅僅是#example)。但是,由于!important的接入,第一個font-size 規(guī)則變得更有權(quán)重。

關(guān)于!important 聲明,有幾點(diǎn)需要注意:

在!important 首次引入in CSS1時,帶有!important 聲明的作者規(guī)則比帶有!important 聲明的用戶規(guī)則有著更高權(quán)重;為了改進(jìn)可接入性,這一規(guī)則在CSS2 中被調(diào)換過來。
如果在復(fù)合屬性中使用 !important ,它會為其代表的所有的子屬性添加權(quán)重。
!important 關(guān)鍵字(或語句)必須置于行末,正好位于分號前面,否則會不起作用(盡管分號前有一個空格不會打斷它)
如果出于特別原因,你必須在同一個聲明塊中書寫某一個屬性兩次,那么在第一個結(jié)尾處添加!important ,它就在除了IE6之外的所有瀏覽器腫擁有更高的權(quán)重。(這是針對IE6的破解,但不會讓你的CSS非法)
在IE6 和IE7中,如果你使用其他的詞來替代!important (如 !hotdog),CSS規(guī)則也會被基于額外權(quán)重,而其他的瀏覽器則會忽略它。
何時該用!important ?

無論何種技術(shù),在特定環(huán)境下總是有利有弊。那么,如果需要的話,什么時候使用呢?這里是我對潛在的有效使用的主觀概述。


如對本文有疑問,請?zhí)峤坏浇涣髡搲?,廣大熱心網(wǎng)友會為你解答!! 點(diǎn)擊進(jìn)入論壇

發(fā)表評論 (608人查看,0條評論)
請自覺遵守互聯(lián)網(wǎng)相關(guān)的政策法規(guī),嚴(yán)禁發(fā)布色情、暴力、反動的言論。
昵稱:
最新評論
------分隔線----------------------------

其它欄目

· 建站教程
· 365學(xué)習(xí)

業(yè)務(wù)咨詢

· 技術(shù)支持
· 服務(wù)時間:9:00-18:00
365建站網(wǎng)二維碼

Powered by 365建站網(wǎng) RSS地圖 HTML地圖

copyright © 2013-2024 版權(quán)所有 鄂ICP備17013400號