• css兼容性问题小结(个人学习笔记)


    css兼容问题

      目前,各主流浏览器的新版本,对于  W3C  的标准支持很好,因此,首先保证代码符合 W3C 的标准,这是解决浏览器兼容问题的前提。其次,对于某些支持受限的属性,针对不同的浏览器添加相应的前缀,比如-webkit-、-o-、-moz-。

      1.最主要也是最常见的,就是浏览器对标签的默认支持不同,所以我们要统一,就要进行CSS reset . 最简单的初始化方法是 *{margin:0; padding:0;} 但不推荐,而且它也并不完善。

        最好是有一个reset.css的初始化样式,这样的话,更具体;

          淘宝的样式初始化

    body, h1, h2, h3, h4, h5, h6, hr, p, blockquote, dl, dt, dd, ul, ol, li, pre, form, fieldset, legend, button, input, textarea, th, td { margin:0; padding:0; }
        body, button, input, select, textarea { font:12px/1.5tahoma, arial, 5b8b4f53; }
        h1, h2, h3, h4, h5, h6{ font-size:100%; }
        address, cite, dfn, em, var { font-style:normal; }
        code, kbd, pre, samp { font-family:couriernew, courier, monospace; }
        small{ font-size:12px; }
        ul, ol { list-style:none; }
        a { text-decoration:none; }
        a:hover { text-decoration:underline; }
        sup { vertical-align:text-top; }
        sub{ vertical-align:text-bottom; }
        legend { color:#000; }
        fieldset, img { border:0; }
        button, input, select, textarea { font-size:100%; }
        table { border-collapse:collapse; border-spacing:0; }

      2.IE6双边距bug: 块属性标签添加了浮动float之后,若在浮动方向上也有margin值,则margin值会加倍。其实这种问题主要就是会把某些元素挤到了第二行

        解决的方式有两个:

          1.给float元素添加display:inline 即可正常显示

          2.就是hack处理了,对IE6进行 _margin-left:5px;

      3.chrome下默认会将小于12px的文本强制按照12px来解析。解决办法是给其添加属性:  

         html{ -webkit-text-size-adjust: none; } 

     

      4.因为存在两种盒子模式:IE盒子模式(怪异盒)和W3C标准模式(标准盒),所以对象的实际宽度也要注意。

        可以在css对一个元素进行两种模式的转变(非IE):设置 box-sizing:  border-box;(变异盒)或者 bix-sizing content-box(标准盒

        两种盒子的区别就是(针对width来说):
          变异盒:你所设定的width就是 标准盒的width+padding+border,即如果你想知道内容的高度的话,还要用你设定的width-padding-border
              才能得知;
          标准盒:你所设定的width就是内容的高度,你想知道盒子的高度的话,需要用你设定的width+padding+border才能得知

    
    

       5.cursor:hand VS cursor:pointer 

         cursor:hand; IE支持,但是FF不支持;

        cursor: pointer;  都支持

        所以都用cursor: pointer最好;

     

      6.块属性标签float后,又有横行的margin情况下,在IE6显示margin比设置的大

        解决方案:在float的标签样式控制中加入 display:inline;将其转化为行内属性

     

      7.min-height和min-width兼容

        {min-height:200px; height:auto !important; height:200px; overflow:visible;}

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     
  • 相关阅读:
    第九周周记
    第七周周记
    第三次作业第一题
    第五周周记
    《世界是数字的》读后感想
    第十周周记
    迷茫
    测试作业
    价值观作业
    作业二 感想
  • 原文地址:https://www.cnblogs.com/web-chuan/p/9093653.html
Copyright © 2020-2023  润新知