美文网首页
9、IE浏览器兼容问题

9、IE浏览器兼容问题

作者: 波罗的海de夏天 | 来源:发表于2017-06-21 00:45 被阅读0次

兼容性:页面在不同的浏览器上可能显示不同;

    1、在IE6下,子集的宽度会撑开父级设置好的宽度;
         温馨提示:盒模型的计算一定要精确,否则IE浏览器可能会显示不同;
    2、在IE6中,元素浮动,如果宽度需要内容撑开,需要给里面的块元素都添加浮动才可以;
    3、在IE6、7下,元素要通过浮动排在同一排,就需要给这行元素都加浮动;
    4、注意标签的嵌套规则;
    5、在IE6下,元素的高度如果小于19px,会被当成19px来处理;    
          解决方法:overflow:hidden;
    6、在IE6下,不支持1px的dotted边框样式;
          解决 方法:切背景平铺;
    7、在IE下,大部分兼容性都是因为haslayout属性的触发问题,尽量触发haslayout属性,可以减少很多IE下的兼容问题;
          在IE下,父级有边框的时候,子元素的margin会失效;
          解决方法:触发父级的haslayout属性;
    8、IE6下双边 距的bug;
          在IE6下,块元素有浮动有横向的margin的值的时候,横向的margin的值会扩大两倍;
    9、IE6下,margin-left 一行中左侧的第一个元素有双边距;margin-right 一行中右侧的第一个元素有双边距;
    10、在IE6、7下,li本身没有浮动,li里面的内容有浮动,li下会产生一个间隙;
          解决方法:1、给li加浮动;2、给li加vertical-align:top;
    11、在IE6下,最小高度的bug和li的间隙问题共存的时候,给li加浮动,vertical-align:top不好使;
    12、当一行子级元素宽度之和和父级的宽度相差超过3px,或者子级元素不满行的情况时,最后一行的子级元素的margin-bottom会失效;(尽量避免)
    13、在IE6下,文字溢出bug;
          子元素的宽度和父级的宽度相差如果小于3px,两个浮动元素中间有注释或者内联元素,就会出现文字溢出,内联元素越多,溢出越多;
          解决方法:用div把注释或者内联元素包起来;
    14、在IE6下,当浮动元素和绝对定位是兄弟关系时,绝对定位会失效;
          解决方法:不让浮动元素和绝对定位是兄弟关系,用div或者其他标签把元素包起来;
    15、在IE6、7下,子级元素有相对定位,父级overflow包不住子级元素;
          解决方法:给父级也加上相对定位;
    16、在IE6下,如果绝对定位的父级的宽高是奇数的时候子级元素的right和bottom值会有1px的偏差;
    17、在IE6下,固定定位fixed不好使;透明度opacity:值(0~1)不好使,用filter:alpha(opacity=50)设置;
    18、在IE6、7下,输入型的表单标签上下会有1px的间隙;
          解决方法:给input加浮动;
    19、图片半透明(png 24),IE6不兼容;
          解决方法:借助文件 DD_belatePNG_0.0.8a.js;
    20、在IE下,条件注释语句可以显示
          <!-- [if ie 6/7/8]>
                我是IE6
          <![endif]-->
    21、css hack
          background:red; 
          _background:yellow;  // IE6及以下
          + background:yellow; // 或* IE7及以下
          background:yellow\9; // IE9及以下         

相关文章

网友评论

      本文标题:9、IE浏览器兼容问题

      本文链接:https://www.haomeiwen.com/subject/txdaqxtx.html