问题:使用了float之后,父级盒子的高度变为0。导致背景无法显示。边框不能撑开
(1)给父级元素单独定义高度(height)
比较简单,但是只适合高度固定的布局,要给出精确的高度
(2)在标签结尾处加空div标签 clear:both
添加一个空div,利用css的clear:both清除浮动,让父级div能自动获取到高度。如果页面浮动布局多,就要增加很多空div,不利于页面的优化。
(3)父级div定义 overflow:hidden
超出的尺寸的会被隐藏。(不建议使用此种方式,可能会影响页面元素布局)
(4)父级div定义 伪类:after 和 zoom
浏览器支持好,不容易出现怪问题(目前:大型网站都有使用,如:腾迅,网易,新浪等等)
/*清除浮动代码*/ .clearfloat:after{display:block;clear:both;content:"";visibility:hidden;height:0} .clearfloat{zoom:1}