资源添加浮动之后,父元素没有设定高度你的情况下,父元素的高度就没有了。
回答
云松回答
问题分析:
在父元素不设定高度的情况下,如果子元素都添加浮动属性,则子元素脱离文档流。在元素在没有脱离文档流的情况下,是可以把父元素的高度撑开。但是加了浮动,脱离了文档流,那么就不能撑开父元素,所以产生了高度塌陷问题。
解决办法:
方法一:通过定义class设定clear属性来清楚浮动,示例代码如下:
.clear:after {
content: ".";
display: block;
height: 0;
clear: both;
visibility: hidden;
}
方法二:让浮动元素后面紧跟一个用于清除浮动的空标签,代码如下:
<div class="father">
<div class="fl">浮动元素</div>
<div class="fl">浮动元素</div>
<div class="clear"></div>
</div>
.clear{
height:0px;
clear:both;
font-size:0px;
line-height:0px;
zoom: 1;
}
方法:overflow 方法
<div style="overflow: hidden;">
<div class="fl"></div>
</div>
overflow 方法在父元素上设置 overflow 这个 css 属性。如果父元素的这个属性设置为 auto 或者 hidden,父元素就会扩展以包含浮动。
这个方法有着较好的语义性,因为他不需要额外元素。但是,如果需要增加一个新的 div 来使用这个方法,其实就和空 div 方法一样没有语义了。
而且要记住,overflow 属性不是为了清除浮动而定义的。要小心不要覆盖住内容或者触发了不需要的滚动条。
(0)