父元素的高度是由子元素撐開的,且子元素設置了浮動,父元素沒有設置浮動,子元素脫離了標准的文檔流,那么父元素的高度會將其忽略,如果不清除浮動,父元素會出現高度不夠,那樣如果設置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;
}