浏览器hack总结 详细的
浏览器兼容性的快速解决方法
由于各浏览器对页面的解析不同,会导致页面在不同浏览器中显示的样式不一致,为了保持页面的统一,经常需要对浏览器进行兼容性问题的调试。
CSS Hack
面对浏览器诸多的兼容性问题,经常需要通过CSS样式来调试,其中用的最多的就是CSS Hack。
所谓CSS Hack就是针对不同的浏览器书写不同的CSS样式,通过使用某个浏览器单独识别的样式代码,控制该浏览器的显示效果。
CSS Hack主要分为两类
CSS 选择器Hack
CSS选择器Hack是指通过在CSS选择器的前面,加上一些只有特定浏览器才能识别的Hack前缀,来控制不同的CSS样式。
针对不同版本的浏览器,选择器Hack分为以下几类:
(1)IE6及IE6以下版本识别的选择器Hack
书写CSS样式时,如果希望此样式只对IE6及IE6以下版本的浏览器生效,可以使用IE6及以下版本的选择器Hack,其基本语法如下:
* html 选择器{样式代码}
(2)IE7识别的选择器Hack
书写CSS样式时,如果希望此样式只对IE7浏览器生效,可以使用IE7识别的选择器Hack,其基本语法如下:
*+html 选择器{样式代码}
CSS属性Hack
这里小强老师,把属性hack分为 前缀属性hack和 后缀属性hack
CSS属性Hack(前缀)
针对的浏览器
_color:red;
IE6及其以下的版本
*color:red ;或者 +color:red;
IE7及其以下的版本
CSS属性Hack(后缀)
针对的浏览器
color:red;
IE6/IE7/IE8/IE9/IE10版本
color:red
color:red
color:red!important
IE7/IE8/IE9/IE10及其他非IE浏览器
;
IE9/IE10
;
IE8/IE9/IE10版本
选择器Hack写法
针对于的浏览器
@media screen{body { background: red; }}
只对IE6/7生效
其实,现在越来越的公司,不太让兼容ie6了,现在比较关心的是ie8.910等高版本的浏览器,因此这里小强老师也总结了ie专属hack ,比如ie8等。
@media
@media
@media screen
@media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) {body { background: orange; }}
只对IE10有效
{body { background: green; }}
只对IE8/9/10有效
screen\,screen{body { background: blue; }}
只对IE6/7/8有效
screen {body { background: red; }}
只对IE8生效
IE条件注释语句
针对的浏览器版本
<!--[if lt IE 7]>内容<![endif]-->
IE7 以下版本
<!--[if lte IE 7]>内容<![endif]-->
IE7及以下版本(包含IE7)
<!--[if gt IE 7]>内容<![endif]-->
IE7 以上版本
<!--[if gte IE 7]>内容<![endif]-->
IE7及以上版本(包含IE7)
如果样式比较多,条件注释,是不错的选择:
IE条件注释语句
<!--[if !IE 7]>内容<![endif]-->
非IE7版本
<!--[if !IE]><!-->您使用不是 Internet Explorer<!--<![endif]-->
非IE浏览器
以上就是小编为大家带来的浏览器hack总结 详细的浏览器兼容性的快速解决方法的全部内容了,希望大家多多支持脚步之家。
原文地址:http://www.cnblogs.com/androidshouce/archive/2016/06/16/5589770.html
评论列表(0条)