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

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

css中!important的用法和實例

文章來源:365jz.com     點擊數(shù):384    更新時間:2018-06-15 08:21   參與評論

我們知道,CSS寫在不同的地方有不同的優(yōu)先級, .css文件中的定義 < 元素style中的屬性,但是如果使用!important,事情就會變得不一樣。

!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特性,則超鏈接的顏色為藍色,但是加上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的字體色為藍色,不同的是,第二行末使用important,而第三行使用了! 
默認情況下,class的優(yōu)先級小于id,所以,第二行中即使用class重定義了自身樣式,也無法生效,所以繼承父級屬性,這行字還是紅色! 
但是,第三行中,用了important提升優(yōu)先級(或看成強制重定義),所以這里的css得以生效,這行字變?yōu)榱怂{色!

另外有一個值得注意的地方,如果樣式這樣寫:

.testClass{ 
color:blue !important; color:red;
}

這種寫法在IE6下是識別不到 !important顯示為紅色,但也可以通過一下方法讓IE6識別到!important

.testClass{ 
color:blue !important; 
} 
.testClass{ 
color:red; 
}


CSS 中一個比較重要的!important屬性,從筆者的實踐中總結(jié)了以下兩點:

1、用于解決IE對某些CSS規(guī)范有偏差的情況.

    比如在IE中的效果總是和其他的瀏覽器如firefox,opera等相差2px,導(dǎo)致頁面布局有錯位, 這是因為IE對盒之間距離的解釋的bug造成的,針對這種情況我們就可以利用!important來幫助解決。

 例如下面這個樣式

.myclass{
 margin-left
:20px!important;
 margin-left
:40px;

}

如果是在firefox,opera,chrome中,這些瀏覽器支持!important屬性,也就是說他們會默認讓margin-left:20px!important; 這條語句生效,下面的不帶!important聲明的樣式將不會覆蓋它,換句話說就是他的級別最高,下面的人都不能取代我!

但是,如果換作是IE瀏覽器會是什么情況呢,因為IE不支持!important ,就是說IE不認識這句話是什么意思,于是傻瓜IE就把這條給略過了,下面那條他可是認識的,于是margin-left:40px;
就生效了。

說到這,需要有一點注意:

并不說IE真的不認識!important,如果你單單想用!important去區(qū)別IE和其他瀏覽器那你就錯了,比如:

 

.myclass{
backgroud-color
:black !important;
}

我們異想天開的認為,這條樣式IE不認,我們可以讓它在其他瀏覽器上定制顯示。到底是不是這樣呢? 真的不是! IE也認了。

 

說到這你是不是有點糊涂了,到底IE認不認?????

答案很簡單,只有當(dāng)同時出現(xiàn)兩個同名的樣式時,才可以這樣用,就像下面這樣的.

.myclass{
 margin-left
:20px!important;
 margin-left
:40px;

}


2、如果有定義了一個樣式A,比如font-size,你不打算讓以后也叫樣式A的覆蓋掉這個font-size,也可以用 !important . 而如果新樣式也用了!important 則還是會強制覆蓋掉

.A{
 font-size
:12px !important;
}
.A
{
 font-size
:14px;   //不會生效
}

.A
{
 font-size
:14px !important; //生效
}


 注意,一定要是同名的樣式,也就是樣式名都叫A的樣式才行,如果是父代與子代的情況就不管用了,比如說:

<html>

<head>
<style>
.father
{
font-size
:12px !important;
}
.child
{
font-size
:14px;
}
</style>
<body>
<div class="father">
 <div class="child">I am child </div>
</div>
</body>
</html>

 

這種情況下,child的font-size就是14px,不受 father影響。


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

發(fā)表評論 (384人查看,0條評論)
請自覺遵守互聯(lián)網(wǎng)相關(guān)的政策法規(guī),嚴禁發(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號