小虾虎鱼

小虾虎鱼

IE6中border边框断线现象(border边框部分消失)

作者 禾惠 发表于 2012/08/29,最后修改于 2012/08/29

    IE6中有一个BUG叫border边框断线现象,即在IE6中滚动滚动条时有些border边框莫名其妙的有部分不显示(边框显示不完整)。

    有时候发现自己写的页面在IE6中测试时发现,有些边框部分不可见(目前我遇到过某个div的边框左右两边的中间有一部分边框消失、某个DIV的上边框消失同时两边也有部分消失);今天恰好遇到后面的这种情况,平常遇到两边中间有部分消失的情况时直接给这个DIV加个背景色就可以了,今天却不知道为什么不行。试了好久最后定义了这个DIV的高度就解决了。于是,搜索了一下这种情况,才发现这属于border边框断线现象,但没有找到是什么原因导致这样的现象。下面是在网上找到的解决方法:

现象出现的条件:假设一个容器内有两个浮动,并使用CLEAR清除浮动,在ie6下拖动滚动条时最外层的border会消失,如果给最外层加上宽度或者高度就不会出现。如下代码(需要出现滚动条即页面有足够的高度):

<div style="border:1px #ccc solid;">
    <div style="float:left;">sdf</div>
    <div style="float:left;">
        <p>df</p><p>df</p><p>df</p><p>df</p><p>df</p><p>df</p><p>df</p>
    </div>
    <div style="clear:both;"></div>
</div>

    
下面是从网上得到的三种解决断线现象的方法:
        1.在父元素中加入height:1%
        2.给父元素设置一个宽度或高度
        3.给父元素设置一个背景色.