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

  发布时间:2016-06-16 10:48:30   作者:佚名   我要评论
下面小编就为大家带来一篇浏览器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\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条件注释语句 针对的浏览器版本
<!--[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)
<!--[if !IE 7]>内容<![endif]--> 非IE7版本
<!--[if !IE]><!-->您使用不是 Internet Explorer<!--<![endif]--> 非IE浏览器

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

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

相关文章

  • 详解IE浏览器的haslayout属性及相关兼容性问题解决

    haslayout是IE浏览器专有的属性,然而这个属性却同样会给不同版本的IE带来浮动问题等一些列兼容性上面的麻烦...这里我们就来详解IE浏览器的haslayout属性及相关兼容性问题解
    2016-07-08
  • HTML5的video标签的浏览器兼容性增强方案分享

    使用HTML5时就应该考虑包括桌面以及移动端的浏览器兼容问题,特别是视频方面浏览器对解码的支持会有所不同,所以下面就来分享一个HTML5的video标签的浏览器兼容性增强方案分
    2016-05-19
  • 浅谈各种浏览器下的CSS Hack兼容性写法

    这篇文章主要介绍了各种浏览器下的CSS Hack兼容性写法,CSS Hack大致可以分为内部Hack和选择器Hack以及HTML头部引用Hack,需要的朋友可以参考下
    2016-03-14
  • CSS3中的Opacity多浏览器透明度兼容性问题

    用来设定元素透明度的 Opacity 是CSS 3里的一个属性。当然现在还只有少部分浏览器支持,不过各个浏览器都有自己的私有属性来支持,其中包括老版本的Mozilla和Safari
    2015-11-09
  • 火狐浏览器怎么切换到IE兼容模式?

    火狐浏览器怎么切换到IE兼容模式?有很多网页其他浏览器打不开,但是用ie浏览器就可以打开,怎么设置成ie兼容模式呢?下面我们来看看火狐浏览器切换到IE兼容模式的详细图文
    2015-10-27
  • 浅谈浏览器的兼容性(必看篇)

    下面小编就为大家带来一篇浅谈浏览器的兼容性(必看篇)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2016-07-25

最新评论