css hack
参考:http://www.cnblogs.com/WuQiang/archive/2011/08/23/2150240.html
1.行内hack:
height:25px\9 /*allIE*/
ie9特有的为:
:root 选择符 {属性\9;} eg::root #test { background-color:purple\9; }
height:25px\0 /* IE 8*/
*height:25px; /* IE7 & IE6以下*/
+height:30px; /* IE7*/
_height:30px; /* IE6*/
2. !important 对于只有ie7和firefox 能够识别,ie6不能识别(不是不能识别,是存在bug)
ie6不能识别类似: .box { color:red !important; color:blue}
但是在下面例子中:
div.box {color:red}
.box {color:blue !important}
ie6/ie7/firefox 显示的都是 blue
可见: !important 在对于提高选择器的 优先级 上有作用 ,但是不支持在同一规则中 提高代码的顺序优先级
3. 这里面有一个针对IE6以及以下版本的著名方法是* html hack
1. * html hack
Html 元素是W3C标准DOM (Document Object Model)的根元素。但是,IE 4~6有一个匿名的根元素,它包围着Html 元素。那么这个匿名的元素或者说隐藏的元素到底是什么元素呢?其实它就是鼎鼎大名的* 号,所以我们可以用星号来指定的规则应用于那些被星号包围的 HTML。
IE6以及更老的IE5.5
* html {
font-size:small;
}
在任何非ie的浏览器因为没有这个规则(Html元素被*号包围),所以其他的浏览器就会当作看不见,所以当你指定这个规则的时候,你可以放心的应用在IE6以及前一版本的IE5.5要展示效果中
2.IE7的 *+html hack
*+html {
font-size:small
}
这样的表达,就是说除了IE7能认识这个font-size:small以外,其他的浏览器都不会看到这一条的,可以说这是IE7的专属Hack。
------------------------------------------------------------------------分割线----------------------------------------------------------
1.区别IE6、IE7 (方法 1)
【示例】:
*background:black; /*IE7 背景变黑色*/ 还可以用+
_background:orange; /*IE6 背景变橘色*/
}
2.区别IE6、IE7 (方法 2)
【示例】:
background:black !important; /*IE7 背景变黑色*/
background:orange; /*IE6 背景变橘色*/
}