浅谈CSS中overflow清除浮动的用法

时间:2021-05-08

overflow清除浮动以下面的XHTML代码为例:

XML/HTML Code复制内容到剪贴板
  • <divid="container">
  • <divid="left"></div>
  • <divid="right"></div>
  • </div>

  • 我以前用的方法是(CSS代码):

    CSS Code复制内容到剪贴板
  • #container{
  • width:1000px;
  • overflow:hidden;
  • background:#999999;
  • }
  • #left{
  • width:70%;
  • height:500px;
  • float:left;
  • background:#ff0000;
  • }
  • #right{
  • width:28%;
  • height:500px;
  • float:rightright:
  • background:#0000ff;
  • }
  • 这种方法有效的清除了浮动,但 IE6 里没有效果,所以为了兼容 IE6 ,需要为父元素设了一个宽度,并且是一个合适的宽度。

    再一种方法是把 overflow:hidden 换成 overflow:auto ,但 IE6 仍然没有效果,为了兼容 IE6 ,还是要做“手脚”,可以为父元素加上 height:1% 或 zoom:1 ,有人说 height:1% 应该写成 _height:1% ,但我并没有发现不加_符号有什么影响。而 zoom:1 则不能通过W3C验证。

    总结一下:清除浮动可以用 overflow:hidden 或 overflow:auto ,在比较标准的浏览器里没有问题,但 IE6 没有效果,为了兼容 IE6 ,可以为父元素:

    1、设置一个合适的宽度,但“合适的宽度”有的时候不好掌握;

    2、加上 height:1% ,什么都不用管,加上就有效,我还没有发现缺点;

    3、加上 zoom:1 ,不能通过W3C验证。

    为了兼容 IE6 的这三种方法根据自己的实际情况和个人喜好选择吧。

    声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。

    相关文章