• 豌豆资源网
  • 开引网企业服务
  • 服务外包网
  • css hack原理及常用hack

    原理:利用不同浏览器对CSS的支持和解析结果不一样编写针对特定浏览器样式。常见的hack有1)属性hack。2)选择器hack。3)IE条件注释

     

    IE条件注释:适用于[IE5, IE9]常见格式如下

    <!--[if IE 6]>
    Special instructions for IE 6 here
    <![endif]-->
    

    熊猫办公https://www.wode007.com/sites/73654.html

    选择器hack:不同浏览器对选择器的支持不一样

    /***** Selector Hacks ******/
    
    /* IE6 and below */
    * html #uno  { color: red }
    
    /* IE7 */
    *:first-child+html #dos { color: red }
    
    /* IE7, FF, Saf, Opera  */
    html>body #tres { color: red }
    
    /* IE8, FF, Saf, Opera (Everything but IE 6,7) */
    html>/**/body #cuatro { color: red }
    
    /* Opera 9.27 and below, safari 2 */
    html:first-child #cinco { color: red }
    
    /* Safari 2-3 */
    html[xmlns*=""] body:last-child #seis { color: red }
    
    /* safari 3+, chrome 1+, opera9+, ff 3.5+ */
    body:nth-of-type(1) #siete { color: red }
    
    /* safari 3+, chrome 1+, opera9+, ff 3.5+ */
    body:first-of-type #ocho {  color: red }
    
    /* saf3+, chrome1+ */
    @media screen and (-webkit-min-device-pixel-ratio:0) {
     #diez  { color: red  }
    }
    
    /* iPhone / mobile webkit */
    @media screen and (max-device-width: 480px) {
     #veintiseis { color: red  }
    }
    
    /* Safari 2 - 3.1 */
    html[xmlns*=""]:root #trece  { color: red  }
    
    /* Safari 2 - 3.1, Opera 9.25 */
    *|html[xmlns*=""] #catorce { color: red  }
    
    /* Everything but IE6-8 */
    :root *> #quince { color: red  }
    
    /* IE7 */
    *+html #dieciocho {  color: red }
    
    /* Firefox only. 1+ */
    #veinticuatro,  x:-moz-any-link  { color: red }
    
    /* Firefox 3.0+ */
    #veinticinco,  x:-moz-any-link, x:default  { color: red  }
    

     

    属性hack:不同浏览器解析bug或方法

     1 /* IE6 */
     2 #once { _color: blue }
     3 
     4 /* IE6, IE7 */
     5 #doce { *color: blue; /* or #color: blue */ }
     6 
     7 /* Everything but IE6 */
     8 #diecisiete { color/**/: blue }
     9 
    10 /* IE6, IE7, IE8 */
    11 #diecinueve { color: blue\9; }
    12 
    13 /* IE7, IE8 */
    14 #veinte { color/*\**/: blue\9; }
    15 
    16 /* IE6, IE7 -- acts as an !important */
    17 #veintesiete { color: blue !ie; } /* string after ! can be anything */

     



    posted @ 2020-06-11 15:12  前端一点红  阅读(717)  评论(0编辑  收藏  举报
  • 乐游资源网
  • 热爱资源网
  • 灵活用工代发薪平台
  • 企服知识
  • 355软件知识