• CSS HACK 如何书写


    什么是css  hank

      由于不同厂商的流览器或某浏览器的不同版本(如IE6-IE11,Firefox/Safari/Opera/Chrome等),对CSS的支持、解析不一样,导致在不同浏览器的环境中呈现出不一致的页面展现效果。这时,我们为了获得统一的页面效果,就需要针对不同的浏览器或不同版本写特定的CSS样式,我们把这个针对不同的浏览器/不同版本写相应的CSS code的过程,叫做CSS hack!

    css   hank的类型
      有三种表现形式,css属性前缀法,选择器前缀法,以及IE条件注释法。

    css属性前缀法

    IE6+ css hack:

    Selector { _property: value; }
    IE7+ css hack:

    Selector { *+property: value; }
    IE8+ css hack:

    Selector { property: value; }
    IE9+ css hack:

    Selector { property: value9; }

    选择器前缀法:

    是针对一些页面表现不一致或者需要特殊对待的浏览器,在CSS选择器前加上一些只有某些特定浏览器才能识别的前缀进行hack。
    目前最常见的是
    html 前缀只对IE6生效
    +html +前缀只对IE7生效
    @media screen9{...}只对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 (min-0) {body { background: gray; }} 只对IE9/10有效
    @media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) {body { background: orange; }} 只对IE10有效

    IE条件注释法:

    <!–[if !IE]><!–> 除IE外都可识别 <!–<![endif]–>
    <!–[if IE]> 所有的IE可识别 <![endif]–>
    <!–[if IE 6]> 仅IE6可识别 <![endif]–>
    <!–[if lt IE 6]> IE6以及IE6以下版本可识别 <![endif]–>
    <!–[if gte IE 6]> IE6以及IE6以上版本可识别 <![endif]–>

  • 相关阅读:
    BZOJ
    BZOJ
    BZOJ
    BZOJ
    BZOJ
    BZOJ
    [知识点]平衡树之Splay
    [BZOJ1015/JSOI2008]星球大战
    [知识点]状态压缩DP
    [NOIP2011]聪明的质检员
  • 原文地址:https://www.cnblogs.com/zk12138/p/10403105.html
Copyright © 2020-2023  润新知