zoukankan      html  css  js  c++  java
  • 浏览器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:red9; IE6/IE7/IE8/IE9/IE10版本
    color:red; IE8/IE9/IE10版本
    color:red9; IE9/IE10
    color:red!important IE7/IE8/IE9/IE10及其他非IE浏览器



    其实,现在越来越的公司,不太让兼容ie6了,现在比较关心的是ie8.910等高版本的浏览器,因此这里小强老师也总结了ie专属hack ,比如ie8等。

    选择器Hack写法 针对于的浏览器
    @media screen9{body { background: red; }} 只对IE6/7生效
    @media screen {body { background: red; }} 只对IE8生效
    @media screen\,screen9{body { background: blue; }} 只对IE6/7/8有效
    @media screen {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浏览器


  • 相关阅读:
    【EntityFramework系列教程十,翻译】ASP.NET MVC程序中的一些高级应用
    对不含数据源的DataGridView实现自定义排序
    poj 1584 A Round Peg in a Ground Hole(叉积判断凸多边形)
    大整数运算
    poj 1408 Fishnet(计算几何)
    poj 1201 Intervals(第一道差分约束题)
    poj 2983 Is the Information Reliable?(差分约束)
    poj 2187 Beauty Contest(凸包+旋转卡壳)
    poj 2031 Building a Space Station(prim)
    poj 3007 Organize Your Train part II
  • 原文地址:https://www.cnblogs.com/lantinggumo/p/7636697.html
Copyright © 2011-2022 走看看