CSS Hack

(轉)CSS Hack: 區分 IE6 / IE7 /IE8 /Firefox

今天被在修改CSS的時候,突然碰到要單獨Hack IE8的。當然,用註釋非常方便,只要添加相應的註釋就可以解決。但問題是,爲了一句CSS寫多一個文件,或者在header上添加註釋,那顯然不是懶人的習慣做法。結論如下:

css hack

selector{
property:value; /* 所有瀏覽器 */
property:value\9; /* 所有IE瀏覽器 */
+property:value; /* IE7 */
_property:value; /* IE6 */
}

當然,注意順序。根據CSS的優先性,上面的寫法,分別針對Firefox、IE8、IE7和IE6顯示值。讓我們看看這個演示

演示的CSS代碼如下:

p.ie{
height:60px;text-align:center;line-height:60px;border:1px dashed #bbb;background:#f7f7f7;font:15;
color:blue; // 所有瀏覽器
color:brown\9; // 所有IE瀏覽器
+color:red; // IE7
_color:green; // IE6
}

哈,事實就這麼簡單。你看到的是那一句話呢?如果你多個瀏覽器都測試了,就會看到,顯示的文字和顏色是不同的。爲什麼?看看我的HTML中這個段落是這樣寫的:

<p class="ie">
<span style="display:block;display:none\9;">嘿嘿,小子竟然也用Firefox,藍色文字。</span>
<!--[if IE 8]>不錯不錯,挺先進的嘛,使用IE8呢!文字是褐色的。<![endif]-->
<!--[if IE 7]>你,IE7,紅色文字!<![endif]-->
<!--[if IE 6]>孩子,雖然顯示的是綠色文字,不過,IE6可不是好東西呢!<![endif]-->
</p>

對,就是IE條件註釋+CSS的結果。順路學一下IE條件註釋吧。不用再舉例了吧,一看就知道那個對那個了。


發佈了14 篇原創文章 · 獲贊 24 · 訪問量 19萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章