您的位置:首页 > Web前端 > CSS

转自码头:IE8的css hack

2009-07-29 10:40 211 查看
首先感谢“丸子”提供的这个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;
我转载只为资源共享。少给我唧唧歪歪。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: