css hack
1.ie条件注释
ie条件注释只在windows平台的ie上被识别(未验证)
根据ie条件注释可以根据浏览器类型和版本号,动态的控制是否解析注释中的内容或是将其作为普通注释语句处理。
ie条件注释也被称为有条件的注释,即它只能包含在html文件中,而不能放置在css中
只在ie下时有效:
<!--[if ie] > your code <![endif]-->
只在ie6下生效:
<!--[if ie 6] > your code<![endif]-->
针对某个范围内版本ie,结合:lte(小于等于)、lt(小于)、gte(大于等于)、gt(大于)、!(不等于)来进行配合注释
例如:
<!--[if ie gte 6] > your code <![endif]-->//只在大于ie浏览器版本号大于6时,有效。
2.选择符前缀
选择符前缀是在css选择符前加一些只有特定浏览器才能识别的前缀,让某些样式只对某些特定浏览器生效
例如:
*html .test{width:60px;}//只在ie6有效
该原理是:因为html是根元素,所以不可能成为任何其他元素的后代。知道这个错误的浏览器会忽略这条规则。
然而IE6无法识别这个错误,它会照常解析这条css规则。
*+html .test{width:60px;}//只在ie7有效
同时,这种方法不能用于内联的样式上
3.样式属性前缀
样式属性前缀聚合程度更高,直接在具体的样式属性前加入一些特殊前缀,同时这些前缀只有在特定的浏览器中才能识别。
"*" 只有IE6、IE7可以识别
"_"只有IE6可以识别
例如:
*color:#FFFF00; /*ie7、ie6*/
_color:#FF0000; /*ie6*/
同时,这种方法可以用于内联样式上。