• css HACK


    1、什么是CSS hack?

    CSS hack是通过在CSS样式中加入一些特殊的符号,让不同的浏览器识别不同的符号
    (什么样的浏览器识别什么样的符号是有标准的,CSS hack就是让你记住这个标准),以达到应用不同的CSS样式的目的,

    比如.kwstu{300px;_200px;}
    一般浏览器会先给元素使用300px;的样式,紧接着后面还有个_200px;
    由于下划线_width只有IE6可以识别,所以此样式在IE6中实际设置对象的宽度为200px,后面的把前面的给覆盖了,
    而其他浏览器不识别_width不会执行_200px;这句样式,所以在其他浏览器中设置对象的宽度就是300px;

    2.CSS hack解决问题

    CSS hack用来解决有些css属性在不同浏览器中显示的效果不一样的问题,
    
    如margin属性在ie6中显示的距离会比其他浏览器中显示的距离宽2倍,也就是说margin-left:20px;在ie6中距左侧对象的实际显示距离是40px,而在非ie6中显示的距左侧对象的距离是设置的值20px;
    
    所以要想设置一个对象距离左侧对象的距离在所有浏览器中都显示是20px的宽度的样式应为:.kwstu{margin-left:20px;_margin-left:20px;}。

    3、浏览器识别字符标准对应表

    从上图可以分析出以下几种情况:

    1.大部分特殊字符IE浏览器支持,其他主流浏览器firefox,chrome,opera,safari不支持 (opera可识别除外)。 2.9 :所有IE浏览器都支持 3._和- :仅IE6支持 4.* :IE6、E7支持 5. :IE8、IE9支持,opera部分支持 6.9 :IE8部分支持、IE9支持 7.9 :IE8、IE9支持
    所以我们可以把顺序写成这样:(这也是兼容各大主流游览器的汇总)

    .element{

      color:#000;             /*w3c标准*/

      [;color:#f00;];         /*Webkit(chrome和safari)*/

      color:#6669;           /*IE8*/

      *color:#999;            /*IE7*/

      _color:#333;            /*IE6*/

    }
      :root .element{color:#0f09;}  /*IE9*/

      @media all and (-webkit-min-device-pixel-ratio:10000), not all and (

      -webkit-min-device-pixel-ratio:0) {
        .element{color:#336699;}
      }  /*opera*/

      @-moz-document url-prefix(){
        .element{color:#f1f1f1;}
      } /*Firefox*/

    (1)清除浮动

    在Firefox中,当子级都为浮动时,那么父级的高度就无法完全的包住整个子级,那么这时用这个清除浮动的HACK来对父级做一次定义,那么就可以解决这个问题。

    select:after {
      content:”.”;
      display:block;
      height:0;
      clear:both;
      visibility:hidden;
    }
  • 相关阅读:
    敏捷结果30天之第十七天:找出高效时间,并利用它来处理重要事情
    每天一个linux命令(13):less 命令
    敏捷结果30天之第十九天:你在为谁做事
    每天一个linux命令(6):rmdir 命令
    每天一个linux命令(11):nl命令
    代码重构学习笔记三:重构72招式
    每天一个linux命令(4):mkdir命令
    敏捷结果30天之第二十二天:设计你的一天
    敏捷结果30天之第二十一天:正面失败,吸取教训,改善结果
    每天一个linux命令(8):cp 命令
  • 原文地址:https://www.cnblogs.com/cynthia-wuqian/p/5258098.html
Copyright © 2020-2023  润新知