Chinaunix首页 | 论坛 | 博客
  • 博客访问: 743873
  • 博文数量: 280
  • 博客积分: 10106
  • 博客等级: 上将
  • 技术积分: 3052
  • 用 户 组: 普通用户
  • 注册时间: 2007-10-31 17:10
文章分类

全部博文(280)

文章存档

2011年(2)

2010年(4)

2009年(4)

2008年(62)

2007年(208)

我的朋友

分类: 系统运维

2007-11-23 15:22:25

 

在CSS森林群里讨论一个margin的问题中无意间发现overflow也可以用来清除浮动,嘿嘿,这个方法不单使用简单,而且FF、OP、IE7都支持,从此可以告别那又长兼容性又差的FF清浮动的方法了。


方法真的很简单,只要为需要清浮动的标签加上overflow这个属性。


CSS代码

ul{
list-style:none;
height:auto;
margin:0;p
adding:0;
background-color:#436973;
}
li{
float:left;
width:80px;
height:80px;
background-color:#83B1DF;
}
.demo{
clear:both;
border:1pxsolid#FF00FF;
margin-bottom:5px;
}
.overflow{
overflow:auto;
zoom:1;
background-color:#43FF73;
}
ul{
list-style:none;
height:auto;
margin:0;
padding:0;
background-color:#436973;
}
li{
float:left;
width:80px;
height:80px;
background-color:#83B1DF;
}
.demo{
clear:both;
border:1pxsolid#FF00FF;
margin-bottom:5px;
}
.overflow{
overflow:auto;
zoom:1;
background-color:#43FF73;
}

HTML代码




  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9





    • 1

    • 2

    • 3

    • 4

    • 5

    • 6

    • 7

    • 8

    • 9


    其中zoom是为了IE6准备的。


    完整的Demo

    Webjx.Com

    注:忘了一个很重要的内容,并不是所有的overflow属性都可起来一样的效果,比如visible属性就只能对IE起作用。例子可以看这里Demo2
    这样的话就有一个问题啦,如果要有高度,而且内容超出高度的时候,定义auto或hidden都可能会有一些不想要的效果出现。这里提供一个解决方案:对于IE6及以下版本的IE,可以直接定义高度;对于IE7、FF、OP,可定义min-height。


    CSS代码


    overflow
    {
    height:auto;
    _height:200px;
    min-height:200px;
    verflow:auto;
    zoom:1;
    _overflow:visible;
    }


    闭合浮动元素:针对firefox用overflow:auto。针对ie用*height:1%或者zoom:1。个人觉得overflow:auto少用为妙,会有些莫明其妙的问题。
    最好用这个方法:

    .clearfix:after{
    content:".";
    display:block;
    height:0;
    clear:both;
    visibility:hidden;
    }
    /*HidesfromIE-mac\*/
    *html.clearfix{height:1%;}
    /*EndhidefromIE-mac*/

    阅读(766) | 评论(0) | 转发(0) |
    给主人留下些什么吧!~~