IE、IE9、IE8、IE7、IE6的hack研究

随着IE不断出新版本,存在于用户电脑中的IE浏览器版本也越来越多,所以为了兼容这群IE小伙伴,hack手段有时是确必不可少的。虽然编写css代码时,尽量避免使用会出现hack的css代码,但是也不可能完全避免不写hack吧。so..搜集如下方法IE中的hack方法。

非条件注释 CSS | hack 法

IEhack

  • _:IE6专属hack
  • !importantIE6hack,ps:只有同时存在两个相同属性时IE6才能识别
  • *:IE6、7hack
  • \0:IE8+
  • \9\0:IE9+
  • \9:IE6+,可以理解为所有IE

如下DEMMO

浏览器 hack
.hack{
width:100px;height:100px;
background-color:red; 		/*所有浏览器*/
background-color:black\0;/*IE8+*/
background-color:blue\9\0;	/IE9+,则楼上的hack则仅针对IE8*/
*background-color:purple; /*IE7、IE6*/
_background-color:gray;  /*IE6*/
/*hack顺序:Firefox、chrome 、其他-> IE9-> IE8-> IE7 -> IE6 */
}
IE浏览器写hack的书写顺序

区别IE6和其他浏览器的还有一种方法,如下

.ie-hack{
    background-color:yellow!important;/*仅仅IE6不识*/
    background-color:red;
}

如下DEMO在不同浏览器查看

浏览器 hack
区别IE6和其他浏览器的css

条件注释 CSS | hack 法

看下代码就明白了:

<!--[if lte IE 7]>IE版本小于等于7<![endif]-->
<!--[if lt IE 7]>E版本小于7<![endif]-->
<!--[if gte IE 7]>IE版本大于等于7<![endif]-->
<!--[if gt IE 7]>IE版本大于7<![endif]-->
<!--[if !(IE )]>非IE<![endif]-->
<!--[if (IE 6)&(IE 7)]>IE6和IE7<![endif]-->
<!--[if (IE 6)|(IE 7)]>IE6或者IE7<![endif]-->
条件注释 CSS | hack 法

这个就不解释了,一看就知道哪个对哪个了!!

本文源链接:http://www.html5jscss.com/ie-hack.html

转载请注明《IE、IE9、IE8、IE7、IE6的hack研究》| html5jscss

评论关闭了.