今天在修改CSS的時(shí)候,突然碰到要單獨(dú)Hack IE8的。當(dāng)然,用注釋非常方便,只要添加相應(yīng)的注釋就可以解決。但問(wèn)題是,為了一句CSS寫多一個(gè)文件,或者在header上添加注釋,那顯然不是懶人的習(xí)慣做法。結(jié)論如下:

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

當(dāng)然,注意順序。根據(jù)CSS的優(yōu)先性,上面的寫法,分別針對(duì)Firefox、IE8、IE7和IE6顯示值。讓我們看看這個(gè)演示:


演示的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
}

哈,事實(shí)就這么簡(jiǎn)單。你看到的是那一句話呢?如果你多個(gè)瀏覽器都測(cè)試了,就會(huì)看到,顯示的文字和顏色是不同的。為什么?看看我的HTML中這個(gè)段落是這樣寫的:

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

對(duì),就是IE條件注釋+CSS的結(jié)果。順路學(xué)一下IE條件注釋吧。不用再舉例了吧,一看就知道那個(gè)對(duì)那個(gè)了。