hack技术解释:
各种浏览器、同一浏览器不同版本对css解析机制不完全一样,会导致页面的效果不同。
此时可以针对某种浏览器进行样式设置,从而达到所有浏览器显示效果一致。
这种标识不同浏览器的方法就是hack。
简而言之,可以通过hack技术,针对一种或者几种浏览器进行样式设置
常用的IE hack
1.属性前缀法(即类内部hack)
代码示例 针对的浏览器
_width:400px; IE6
+width400px; IE6 IE7
*width:400px; IE6 IE7
Width:200px\9; IE6~IE10
Width:100px\0; IE8~IE1
2.不同浏览器兼容的代码:
/Mozilla内核浏览器:firefox3.5+/
-moz-transform: rotate | scale | skew | translate ;
/Webkit内核浏览器:Safari and Chrome/
-webkit-transform: rotate | scale | skew | translate ;
/Opera/
-o-transform: rotate | scale | skew | translate ;
/IE9/
-ms-transform: rotate | scale | skew | translate ;
/W3C标准/
transform: rotate | scale | skew | translate ;
3.选择器前缀法(即选择器hack)
html 前缀只对IE6生效
+html +前缀只对IE7生效
@media screen\9{…}只对IE6/7生效
@media \0screen {body { background: red; }}只对IE8有效
@media \0screen,screen\9{body { background: blue; }}只对IE6/7/8有效
@media screen\0 {body { background: green; }} 只对IE8/9/10有效
@media screen and (min-width:0\0) {body { background: gray; }} 只对IE9/10有效
@media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) {body { background: orange; }} 只对IE10有效
4.IE条件注释
IE中的条件注释对IE的版本和IE非IE有优秀的区分能力,是web开发中常用的hack技术,能对IE系列产品进行单独的HTML代码处理