首先感謝“丸子”提供的這個IE8的css hack;
關注過IE8的css hack的人相信大家都在使用這個hack,就是“\9”的css hack:
.test{
color:#000000; /* FF,OP支援 */
color:#0000FF\9; /* 所有IE瀏覽器(ie6+)支援 ;但是IE8不能識別“*”和“_”的css hack;所以我們可以這樣寫hack */
[color:#000000;color:#00FF00; /* SF,CH支援 */
*color:#FFFF00; /* IE7支援 */
_color:#FF0000; /* IE6支援 */
}
包括我自己也是使用這種的,這是我前段時間整理的《主流瀏覽器的一些CSS hack》。
很多人再研究color:#0000FF\9;中的為什麼IE6-IE8支援“\9”寫法,和它的原理,我只是個工程師,不是科學家,我不懂為什麼和它的真正原理,真的!很慚愧!
回到IE8的CSS hack,講講color:#0000FF\9:
color:#0000FF\9的hack支援IE6-IE8(其他版本沒有測試),但是IE8不能識別“*”和“_”的css hack,所以我們可以使用
color:#0000FF\9; ;/*ie6,ie7,ie8*/
*color:#FFFF00;/*ie7*/
_color:#FF0000;/*ie6*/
來區分IE的各個版本。
至於為什麼使用“\9”我真的不清楚原因,但是“丸子”測試了其他0-13的數字,最終結果如下:
其中:OP表示Opera,SA表示Safari,Ch表示Chrome;當然你如果還有耐心可以測試“\14”,“\15”,“\16”。。。
從上面測試結果我們可以看出“\0”的寫法只被IE8識別,ie6,ie7都不能識別,那麼“\0”應該是IE8的真正hack。主流瀏覽器的CSS hack這樣更好一些:
.test{
color:#000000; /* FF,OP支援 */
color:#0000FF\0; /* IE8支援*/
[color:#000000;color:#00FF00; /* SF,CH支援 */
*color:#FFFF00; /* IE7支援 */
_color:#FF0000; /* IE6支援 */
}
其中:OP表示Opera,SA表示Safari,Ch表示Chrome;
我轉載只為資源共用。少給我唧唧歪歪。