兼容IE6/IE7/IE8/FireFox的css hack

时间:2021-10-05 00:45:39

兼容IE6/IE7/IE8/FireFox的css hack

1 .color{
2   background-color: #CC00FF;
3   background-color: #FF00009;
4   *background-color: #0066FF;
5   _background-color: #009933;
6  }

**记住上面得样式解释为顺序是 ff、ie8、ie7、ie6 ** 显示的结果: 用火狐浏览,颜色是紫色 用 IE8 浏览,颜色是红色 用 IE7 浏览,颜色是蓝色 用 IE6 浏览,颜色是绿色

IE8 最新css hack: "" 例:"margin:0px auto;".这里的""可以区别所有IE和FireFox. "9" 例:"margin:0px auto9;".这里的"9"可以区别所有IE和FireFox. "*" IE6、IE7可以识别.IE8、FireFox不能. "_" IE6可以识别"_",IE7、IE8、FireFox不能.

一些IE6 IE7 IE8 FF的CSS hack

1 p{+color:#f00;} 支持 IE6 IE7 不支持FF IE8
2 p{_color:#f00;} 支持 IE6 不支持FF
3 p{color:#00f !important;}
4 p{color:#f00;} 支持 IE7 IE6 FF IE8
5 p{color:#00f !important;color:#f00;} 支持 IE7 IE8 FF 不支持 IE6
6 head:first-child+body p{color:#f00;} 支持 IE7 IE8 FF 不支持 IE6

各浏览器CSS hack兼容表:

 

  IE6 IE7 IE8 Firefox Chrome Safari
!important   Y   Y    
_ Y          
* Y Y        
*+   Y        
9 Y Y Y      
      Y      
nth-of-type(1)         Y Y

小知识:什么是CSS hack?由于不同的浏览器,比如IE6、IE7、IE8、Firefox等,对CSS的解析认识不一样,因此会导致生成的页面效果不一样,得不到我们所需要的 页面效果。这个时候我们就需要针对不同的浏览器去写不同的CSS,让它能够同时兼容不同的浏览器,能在不同的浏览器中也能得到我们想要的页面效果。这个针对不同的浏览器写不同的CSS code的过程,就叫CSS hack,也叫写CSS hack。