典型网页结构:两列结构,左列用来导航,右列用来显示内容,左右两列的高度都不固定。

需求:两列的高度保持一致,避免出现“断层”的效果。


padding补偿法:

实现CSS等高布局的方法有几种,其中浏览器兼容最好的方法是padding补偿法。

(1)把列的padding-bottom设为一个足够大的值。

(2)把列的margin-bottom设为一个与padding-bottom的正值相抵消的负值。

(3)父容器设置溢出隐藏。

原理:当任一列高度增加了,则父容器的高度被撑到最高那列的高度,其他比其矮的列则会用它们的padding-bottom来补偿这部分高度差。

注:padding-bottom的值取决于实际情况,若不确定,可以设大些。

<!DOCTYPE html>
<html>
	<head>
		<title></title>
		<style>
			#container{
				width:800px;
				border:5px solid grey;
				overflow:hidden;
			}
			#left{
				width:50%;
				float:left;
				background:blue;
				padding-bottom:2000px;
				margin-bottom:-2000px;
			}
			#right{
				width:50%;
				float:left;
				background:red;				
				padding-bottom:2000px;
				margin-bottom:-2000px;
			}
		</style>
	</head>
	<body>
		<div id="container">
			<div id="left">left</div> 
			<div id="right">right<br><br>right</div> 
		</div>
	</body>
</html>

本文转载:CSDN博客