天天看點

important的扯淡

 前幾天在整理關于@import的一些内容時(這部分的内容将會在本月底釋出在ctrip ued部落格中),突然想到!important這個東西似乎現在還是有不少人認為在ie6中是不支援的。對于這點我是完全不認同的,雖然在很早之前我也是認為完全不支援,但後來經朋友提醒,并且測試之後的确證明了ie6是支援的,隻是支援的情況不一樣而已。

對于!important在ie6的支援情況,網絡上零零星星還是找到一些,很意外我在百度百科中也看到了,是以太多的廢話也就不說了,直接看http://baike.baidu.com/view/5843374.htm這個頁面上的最後的一點代碼介紹,如果不想點選去看的話,引用部分代碼,( # ▽ # ) 省去自己寫代碼,我好懶啊……

?view code css

這兩段代碼大家可以分别在ie6中做一個測試,會發現當!important寫在一個選擇符内的時候,ie6會變得比較腦殘。這個時候我們也就可以作為傳說中的hack方式來處理頁面的相容問題,但不建議這樣操作,因為!important的優先級太高了。 (+﹏+)~

提到了優先級的話題,我能想到的一點就是以前有過幾次我作為不合格的面試官時,問過關于!important的幾個問題,不過沒想到得到的答案比我這個不合格的面試官還要不合格。記得當時我的問題是“對于!important的看法是怎麼樣?ie6支援嗎?”,這個問題相信大家找谷哥或者度娘都可以得到答案。

偶爾我也會這樣問“如果在頁面某個标簽中寫了style屬性,如何通過css檔案中的樣式定義來覆寫style屬性中的樣式?”。記得當時得到比較多的答案就是“style屬性不是優先級最高了,而css檔案中定義的樣式無論是id還是class都沒辦法覆寫style屬性中的樣式的。”真的是沒辦法嗎?那換個方式來說,下面這個代碼,最終是什麼顔色?

?view code xml

嗯,答案是style屬性中的#488f48對吧?那麼這個時候,給任意一個選擇符中加上!important後呢?比如這樣:

顔色變了吧?

廢話完畢,又一次回顧了幾年前的内容。

繼續閱讀