【原】CSS 中 !important的用法總結

來源:互聯網
上載者:User

下面簡要的給大家講一下CSS 中一個比較重要的!important屬性,從筆者的實踐中總結了以下兩點:

1、用於解決IE對某些CSS規範有偏差的情況.

    比如在IE中的效果總是和其他的瀏覽器如firefox,opera等相差2px,導致頁面配置有錯位, 這是因為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去區別IE和其他瀏覽器那你就錯了,比如:

 

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

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

 

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

答案很簡單,只有當同時出現兩個同名的樣式時,才可以這樣用,就像下面這樣的.

.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影響。

 

還有什麼其他的用法,請大家補充,謝謝。

 

作者:Tony zhao 歡迎訪問:找與淘網

出處:http://www.cnblogs.com/ytaozhao 本文著作權歸作者和部落格園共有,歡迎轉載,但未經作者同意必須保留此段聲明,且在文章頁面明顯位置給出原文串連,否則保留追究法律責任的權利。

相關文章

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.