浏览器hack总结 详细的浏览器兼容性的快速解决方法

时间:2021-05-08

由于各浏览器对页面的解析不同,会导致页面在不同浏览器中显示的样式不一致,为了保持页面的统一,经常需要对浏览器进行兼容性问题的调试。

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\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写法 针对于的浏览器 @mediascreen\9{body{background:red;}} 只对IE6/7生效 @media\0screen{body{background:red;}} 只对IE8生效 @media\0screen\,screen\9{body{background:blue;}} 只对IE6/7/8有效 @mediascreen\0{body{background:green;}} 只对IE8/9/10有效 @mediascreenand(-ms-high-contrast:active),(-ms-high-contrast:none){body{background:orange;}} 只对IE10有效

如果样式比较多,条件注释,是不错的选择:

IE条件注释语句

IE条件注释语句 针对的浏览器版本 <!--[ifltIE7]>内容<![endif]--> IE7以下版本 <!--[iflteIE7]>内容<![endif]--> IE7及以下版本(包含IE7) <!--[ifgtIE7]>内容<![endif]--> IE7以上版本 <!--[ifgteIE7]>内容<![endif]--> IE7及以上版本(包含IE7) <!--[if!IE7]>内容<![endif]--> 非IE7版本 <!--[if!IE]><!-->您使用不是InternetExplorer<!--<![endif]--> 非IE浏览器

以上就是小编为大家带来的浏览器hack总结 详细的浏览器兼容性的快速解决方法的全部内容了,希望大家多多支持脚步之家。

原文地址:http://www.cnblogs.com/androidshouce/archive/2016/06/16/5589770.html

声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。

相关文章