我正在设计一个有三列的布局,基于一个包含三个浮动div的div。
问题是容器div的高度与我想要的列的高度不匹配。它表现得好像根本没有内容,因此三个列向上突出。
为了解决这个问题,我尝试使用overflow:hidden,这样做确实起到了作用,但我的设计中有一个向左突出的div,这个属性会让它混乱。
有没有更好的方法来解决高度问题?谢谢。
我正在设计一个有三列的布局,基于一个包含三个浮动div的div。
问题是容器div的高度与我想要的列的高度不匹配。它表现得好像根本没有内容,因此三个列向上突出。
为了解决这个问题,我尝试使用overflow:hidden,这样做确实起到了作用,但我的设计中有一个向左突出的div,这个属性会让它混乱。
有没有更好的方法来解决高度问题?谢谢。
通常情况下,您可以通过在所有子元素之后添加一个 <div style="clear:both;"></div>
来使容器的高度扩展到其子元素的末尾...像这样。
<div id="container">
<div class="child0"></div>
<div class="child1"></div>
<div class="child2"></div>
<div style="clear:both;"></div>
</div>
我不确定社区是否认为这是一种黑客行为,但我有时会使用它。此外,我也看到有人不使用div,而是使用<hr>
并应用相同的样式。
.clearfix:before,
.clearfix:after {
content: " ";
display: table;
}
.clearfix:after {
clear: both;
}
.clearfix {
*zoom: 1;
}
假设我正确理解了问题,您可以使用清除浮动的 div:
<div id="dre">
<div class="float" style="height:100px"></div>
<div class="float" style="height:200px"></div>
<div class="float" style="height:30px"></div>
<div id="clear"></div>
</div>
在这里查看 - http://jsfiddle.net/C7FCC/