zoukankan      html  css  js  c++  java
  • 常见ie6的浏览器兼容bug

    1.文字本身的大小不兼容

    同样是font-size:14px的宋体文字,在不同浏览器下占的空间是不一样的,

    ie下实际占高16px,下留白3px

    ff 下实际占高17px,上留白1px,下留白3px

    opera下就更不一样了

    解决方案:给文字设定 line-height 。确保所有文字都有默认的 line-height 值。

    2.ff下容器高度限定,即容器定义了height之后,容器边框的外形就确定了,不会被内容撑大,

    而ie6下是会被内容撑大,高度限定失效,ie7,8,9都不会撑大。

    所以不要轻易给容器定义height。

    解决方案:height!important;min-height:100px;max-height: 200px

    3.横向上的撑破容器问题

    如果float 容器未定义宽度,ff下内容会尽可能撑开容器宽度,ie下则会优先考虑内容折行。

    解决方案:内容可能撑破的浮动容器需要定义width

    4.double-margin bug

    ie6下给浮动容器定义margin-left 或者margin-right 实际效果是数值的2倍。

    解决方案:给浮动容器定义display:inline

    5. 吞吃现象

    还是ie6,上下两个div,上面的div设置背景,却发现下面没有设置背景的div 也有了背景,这就是吞吃现象。

    对应上面的背景吞吃现象,还有滚动下边框缺失的现象。

    解决方案:使用zoom:1

    6.注释也能产生bug~~~

    “多出来的一只猪。”这是前人总结这个bug使用的文案,ie6的这个bug 下,大家会在页面看到猪字出现两遍,重复的内容量因注释的多少而变。

    解决方案:用“<!–[if !IE]> picRotate start <![endif]–>”方法写注释。

    7.img 下的留白

    如下代码:

    <div>
    <img src=“1.jpg” />
    </div>

    把div的border打开,你发现图片底部不是紧贴着容器底部的,是img后面的空白字符造成,要消除必须这样写

    1)<div>
    <img src=”1.jpg” /></div>

    解决方案:后面两个标签要紧挨着。

    2)ie7下这个bug 依然存在。

    解决方案:给img设定 display:block。

    8. 失去line-height。

    <div style=”line-height:20px”><img />文字</div>,很遗憾,在ie6下单行文字 line-height 效果消失了。

    原因是<img />这个inline-block元素和inline元素写在一起了。

    解决方案:让img 和文字都 float起来。

    引申:大家知道img 的align 有 text-top,middle,absmiddle,可以尝试调整img 和文字让他们在ie和ff下能一致,你会发现怎么调都不会让你满意。

    解决方案:索性让img 和文字都 float起来,用margin 调整。

    9.clear层应该单独使用

    也许你为了节省代码把clear属性直接放到下面的一个内容层,这样有问题,不仅仅是ff和op下失去margin效果,ie下某些margin值也会失效
    <div style=”background:red;float:left;”>dd</div>
    <div style=”clear:both;margin-top:18px;background:green”>ff</div>

    10.ie 下overflow:hidden对其下的绝对层position:absolute或者相对层 position:relative无效。

    解决方案:给overflow:hidden加position:relative或者position: absolute。

    另,ie6支持overflow-x或者overflow-y的特性,ie7、ff不支持。

    11.ie6下严重的bug,float元素如没定义宽度,内部如有div定义了height或zoom:1,这个div就会占满一整行,即使你给了宽度。

    解决方案:float元素如果作为布局用或复杂的容器,都要给宽度

    12.浮动元素之后跟着一个元素之间的有3像素的差距?

    解决方案:浮动的元素:overflow:hidden;后面的元素设置_margin-left:-3px

  • 相关阅读:
    python学习手册 (第3版)
    服务器搭建
    阿里云 大数据 云计算 分布式
    PS插件开发plugin
    GIS九交模型
    人脸识别 人工智能(AI)
    Github上发布托管和下载
    RPLiDAR 激光雷达探测地面高程
    linux内核调试
    convex hull
  • 原文地址:https://www.cnblogs.com/yigexiaojiangshi/p/6680462.html
Copyright © 2011-2022 走看看