浏览器hack总结 详细的浏览器兼容性解决方法
由于各浏览器对页面的解析不同,会导致页面在不同浏览器中显示的样式不一致,为了保持页面的统一,经常需要对浏览器进行兼容性问题的调试。CSS Hack面对浏览器诸多的兼容性问题,经常需要通过CSS样式来调试,其中用的最多的就是CSS Hack。所谓CSS Hack就是针对不同的浏览器书写不同的CSS样式,通过使用某个浏览器单独识别的样式代码,控制该浏览器的显示效果。CSS Hack主要分为两类
CSS 选择器Hack
|
CSS属性Hack(前缀) | 针对的浏览器 |
_color:red; | IE6及其以下的版本 |
*color:red ;或者 +color:red; | IE7及其以下的版本 |
CSS属性Hack(后缀) | 针对的浏览器 |
color:red/9; | IE6/IE7/IE8/IE9/IE10版本 |
color:red/0; | IE8/IE9/IE10版本 |
color:red/9/0; | IE9/IE10 |
color:red!important | IE7/IE8/IE9/IE10及其他非IE浏览器 |
其实,现在越来越的公司,不太让兼容ie6了,现在比较关心的是ie8.910等高版本的浏览器,因此这里小强老师也总结了ie专属hack ,比如ie8等。
选择器Hack写法 | 针对于的浏览器 |
@media screen/9{body { background: red; }} | 只对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 (-ms-high-contrast: active), (-ms-high-contrast: none) {body { background: orange; }} | 只对IE10有效 |
如果样式比较多,条件注释,是不错的选择:
IE条件注释语句
IE条件注释语句 | 针对的浏览器版本 |
IE7 以下版本 | |
IE7及以下版本(包含IE7) | |
IE7 以上版本 | |
IE7及以上版本(包含IE7) | |
非IE7版本 | |
您使用不是 Internet Explorer | 非IE浏览器 |