码迷,mamicode.com
首页 > 其他好文 > 详细

父级塌陷清除浮动的五种方法

时间:2017-10-22 01:41:14      阅读:342      评论:0      收藏:0      [点我收藏+]

标签:oat   默认   元素   nbsp   适用于   没有   play   lin   清除   

在文档流中,若父元素未设置高度,那么父元素的高度默认是被子元素撑开的,即子元素多高,父元素就有多高。但是当子元素设置浮动之后,子元素就会完全脱离文档流,父元素还在文档流中,此时父元素的高度就没有子元素撑起,从而导致父元素的高度塌陷。简单来说,就是包含含有浮动的元素的上一级的高度变为0了,下面的元素会上去,这样会导致页面布局混乱。 

方法1:父元素结束之前添加一个标签 <div style="clear:both;"></div>

 缺点:增加了无意义的标签
方法2:给父元素设置overflow:hidden; zoom:1;
 缺点:要是子元素要margin负值定位或是负的绝对定位,会被裁掉,所以此方法是有不小的局限性的。 
方法3:让父元素本身也浮动float:left;
 缺点:虽然可以撑开父元素,但是会导致父元素的宽度丢失,而且会导致下边的元素上移,使得跟父元素相邻的元素的布局受到影响。
方法4:给父元素一个固定高度,此方法适用于子元素高度已知并且固定的情况
方法5:给父元素设置display: inline-block;
缺点:会导致父元素的宽度丢失

父级塌陷清除浮动的五种方法

标签:oat   默认   元素   nbsp   适用于   没有   play   lin   清除   

原文地址:http://www.cnblogs.com/Jialing825/p/7707438.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!