关注过IE8的css hack的人相信大家都在使用这个hack,就是“\9”的css hack:

  1. .test{
  2. color:#000000;                  /* FF,OP支持 */
  3. color:#0000FF\9;       /* 所有IE浏览器(ie6+)支持 ;但是IE8不能识别“*”和“_”的css hack;所以我们可以这样写hack */
  4. [color:#000000;color:#00FF00;      /* SF,CH支持 */
  5. *color:#FFFF00;                 /* IE7支持 */
  6. _color:#FF0000;               /* IE6支持 */
  7. }

讲讲color:#0000FF\9:

  1. color:#0000FF\9的hack支持IE6-IE8(其他版本没有测试),但是IE8不能识别“*”和“_”的css hack,所以我们可以使用
  2. color:#0000FF\9; ;/*ie6,ie7,ie8*/
  3. *color:#FFFF00;/*ie7*/
  4. _color:#FF0000;/*ie6*/

来区分IE的各个版本。至于为什么使用“\9”我真的不清楚原因,但是其他0-13的数字,最终效果如下:

浏览器 css hack 支持图表

浏览器 css hack 支持图表

其中:OP表示Opera,SA表示Safari,Ch表示Chrome;当然你如果还有耐心可以测试“\14”,“\15”,“\16”。。。从上面测试结果我们可以看出“\0”的写法只被IE8识别,ie6,ie7都不能识别,那么“\0”应该是IE8的真正hack。主流浏览器的CSS hack这样更好一些:

  1. .test{
  2. color:#000000;                  /* FF,OP支持 */
  3. color:#0000FF\0;       /* IE8支持*/
  4. [color:#000000;color:#00FF00;      /* SF,CH支持 */
  5. *color:#FFFF00;                 /* IE7支持 */
  6. _color:#FF0000;              /* IE6支持 */
  7. }

其中:OP表示Opera,SA表示Safari,Ch表示Chrome。

   
© 2012 Ai-WEB的博客 Suffusion theme by Sayontan Sinha