父元素的高度是由子元素撑开的,且子元素设置了浮动,父元素没有设置浮动,子元素脱离了标准的文档流,那么父元素的高度会将其忽略,如果不清除浮动,父元素会出现高度不够,那样如果设置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;}