padding补偿法:
首先把列的padding-bottom设为一个足够大的值,再把列的margin-bottom设一个与前面的padding-bottom的正值相抵消的负值,父容器设置超出隐藏,这样子父容器的高度就还是它里面的列没有设定padding-bottom时的高度,当它里面的任一列高度增加了,则父容器的高度被撑到它里面最高那列的高度,其他比这列矮的列则会用它们的padding-bottom来补偿这部分高度差。因为背景是可以用在padding占用的空间里的,而且边框也是跟随padding变化的,所以就成功的完成了一个障眼法。
例子:
<div class="container">
<div class="left">hello</div>
<div class="right">world !I am China</div>
</div>
.container{
width:200px;
border:1px solid red;
overflow:hidden;
}
.left{
float:left;
width:150px;
background:grey;
padding-bottom:2000px;
margin-bottom:-2000px;
}
.right{
float:right;
background:pink;
width:50px;
padding-bottom:2000px;
margin-bottom:-2000px;
}
padding-bottom的高度可以根据实际的计算,如果不确定,设置的很大也可以。
效果: