为什么要清除浮动

父元素的高度是由子元素撑开的,且子元素设置了浮动,父元素没有设置浮动,子元素脱离了标准的文档流,那么父元素的高度会将其忽略,如果不清除浮动,父元素会出现高度不够,那样如果设置border或者background都得不到正确的解析。

清除浮动的方法:

1、给浮动元素父级加overflow:auto;在IE6中需要加上zoom:1

2、使用:after伪元素

.clearfix:after{
   content:"";
   dispaly:block;
   height:0;
   clear:both;
   visibility:hidden;
}
.clearfix{
   zoom:1;
}
或是:
.clearfix:after,.clearfix:before{
   content:"";
   display:table;
}
.clearfix:after{
   clear:both;
}

posted @ 2016-09-26 18:54  fantastic晴天  阅读(2905)  评论(0编辑  收藏  举报