CSS中的!important是一個很是重要的屬性,有時候發揮着很是大的做用,52CSS.com這方面的知識並非很是多,咱們看下面的文章,對它做比較感觀的瞭解。
前幾天寫一些CSS代碼的時候又難爲我了,由於那個該死的IE6對CSS的支持是如此的差勁,之前我還沒注意過,由於作的東西基本都是基於IE的,但是我此次爲博客寫的CSS要支持不止IE一個瀏覽器,可恨的是我裝的Windows 7,這裏面自帶的是IE8瀏覽器,我自認爲已經沒有問題了,但是打開IE6,仍然出現錯位,因而我決定看看IE6究竟是什麼狀況。
我把全部的CSS塊兒所有使用邊框包起來,結果看到在IE中兩個div之間的距離明顯要寬於其餘瀏覽器,好比你寫一個div的margin屬性爲20px,那麼在IE中就好像是40px同樣,這也就是爲何原本精度計算的剛恰好,在IE下卻恰恰錯位的緣由。
後來我看到了!important這個屬性,這個屬性其實也是css規範中的,結果IE6愣是不支持,也正由於它不支持,才讓不少的CSSer們找到了解決的方法。通常來說,在css中,若是在同一個css塊中寫下兩個一樣的屬性,那麼實際上是按照最下面的來執行的,好比說:css
.home{
margin-left:20px;
margin-left:40px;
}
那麼在執行的時候實際上是按照40px來執行的,!important的出現就是爲了讓用戶本身設置被執行語句的優先級。若是把上面的語句改成:
.home{
margin-left:20px!important;
margin-left:40px;
}
那麼在火狐、google瀏覽器以及IE7以上版本下將會按照20px來執行,而在IE6下卻仍然按照40px來執行,由於IE6並不支持!important規範,咱們就能夠按照這個規則來知足IE6的設計須要,何時發現IE6和其餘瀏覽器顯示效果不一樣,那麼就設置兩個,在上面的一個加入!important標記,而下面的一句則不須要添加,這樣IE6就按照下面的來執行了。資深的CSSer說:現在的CSS到處!important。這可都是天殺的IE6惹的禍,你們說IE6就是一坨代謝產物一點也不爲過。