padding补偿法
首先把列的padding-bottom设为一个足够大的值,再把列的margin-bottom设一个与前面的padding-bottom的正值相抵消的负值,父容器设置超出隐藏,这样子父容器的高度就还是它里面的列没有设定padding-bottom时的高度,当它里面的任一列高度增加了,则父容器的高度被撑到它里面最高那列的高度,其他比这列矮的列则会用它们的padding-bottom来补偿这部分高度差。
<!DOCTYPE html>
<html>
<head>
<style>
*{margin: 0;padding: 0;}
.container{width: 600px;border: 1px solid black;overflow: hidden}
.left{float: left;width: 150px;border: 2px solid red;
padding-bottom: 2000px;margin-bottom: -2000px;}
.right{float: left;width: 400px;border: 3px solid darkblue;
padding-bottom: 2000px;margin-bottom: -2000px;}
</style>
</head>
<body>
<div class="container">
<div class="left">ger</div>
<div class="right">gr<br><br><br>rg</div>
<div style="clear:both"></div>
</div>
</body>
</html>
实现两列布局
<!DOCTYPE html>
<html>
<head>
<style>
*{margin: 0;padding: 0;}
.container{width: 900px;border: 1px solid palevioletred;overflow: hidden;position: relative;}
.left{margin-right: 120px; border: 1px solid green;height: 300px;}
.right{float: right;width: 100px;border: 1px solid black;position: absolute;
top:0;right: 0;}
img{max-width: 100px;max-height: 100px;}
</style>
</head>
<body>
<div class="container">
<div class="left"></div>
<div class="right"><img src="4.jpg"/></div>
</div>
</body>
</html>