CSS中關於!important重要性的詳細介紹

來源:互聯網
上載者:User
CSS中的!important是一個非常重要的屬性,有時候發揮著非常大的作用,52CSS.com這方面的知識並不是非常多,我們看下面的文章,對它作比較感觀的瞭解。
  前幾天寫一些CSS代碼的時候又難為我了,因為那個該死的IE6對CSS的支援是如此的差勁,以前我還沒注意過,因為做的東西基本都是基於IE的,可是我這次為部落格寫的CSS要支援不止IE一個瀏覽器,可恨的是我裝的Windows 7,這裡面內建的是IE8瀏覽器,我自認為已經沒有問題了,可是開啟 IE6,仍然出現錯位,於是我決定看看IE6到底是什麼情況。
  我把所有的CSS塊兒全部使用邊框包起來,結果看到在IE中兩個p之間的距離明顯要寬於其他瀏覽器,比如你寫一個p的margin屬性為20px,那麼在IE中就好像是40px一樣,這也就是為什麼本來精度計算的剛剛好,在IE下卻偏偏錯位的原因。
  後來我看到了!important這個屬性,這個屬性其實也是css規範中的,結果IE6愣是不支援,也正因為它不支援,才讓很多的CSSer們找到瞭解決的方法。一般來講,在css中,如果在同一個css塊中寫下兩個同樣的屬性,那麼其實是按照最下面的來執行的,比如說:

   1: home{   2:    margin-left:20px;   3:    margin-left:40px;   4: }   5:

  那麼在執行的時候其實是按照40px來執行的,!important的出現就是為了讓使用者自己設定被執行語句的優先順序。如果把上面的語句改為:

 1: home{   2:    margin-left:20px!important;   3:    margin-left:40px;   4: }   5:

  那麼在Firefox、google瀏覽器以及IE7以上版本下將會按照20px來執行,而在IE6下卻仍然按照40px來執行,因為IE6並不支援!important規範,我們就可以按照這個規則來滿足IE6的設計需要,什麼時候發現IE6和其他瀏覽器顯示效果不同,那麼就設定兩個,在上面的一個加入!important標記,而下面的一句則不需要添加,這樣IE6就按照下面的來執行了。資深的CSSer說:如今的CSS處處!important。這可都是天殺的IE6惹的禍,大家說IE6就是一坨代謝產物一點也不為過。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

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.