02.页面布局常用的两种方法

说明:

三列布局的特点是两边固定,中间自适应。圣杯布局和双飞翼布局可以实现这样的需求。区别在于圣杯布局中间列的父元素添加了内边距的同时对左右两列设置偏移量,而双飞翼不需要对左右两列设置偏移量,而是直接给中间列再包一层元素,给该元素直接加内边距实现,稍微方便一点点。

第一种是圣杯布局

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title>圣杯布局</title>
		<style>
			*{
				margin: 0;
				padding: 0;
			}
			body{
				min-width: 600px;
			}
			#header{
				background-color: grey;
				height: 20px;
			}
			#footer{
				background-color: grey;
				height: 20px;
			}
			#center{
				background-color: orangered;
				width: 100%;
				float: left;
			}
			/*-----------解决高度塌陷问题---------*/
			.clearfix{
				*zoom:1;
			}
			.clearfix:after{
				content: "";
				display: block;
				clear: both;
			}
			/*-----------解决高度塌陷问题---------*/
			#middle{
				padding: 0 200px;
				overflow: hidden;/*伪等高布局*/
			}
			#left{
				background-color: orange;
				width: 200px;
				float: left;
				margin-left: -100%;
				left:-200px;
			}
			#right{
				background-color: orange;
				width: 200px;
				float: right;
				margin-left: -200px;
				right: -200px;
			}
			#left,#right{
				position: relative;
			}
			#left,#center,#right{
				/*伪等高布局*/
				padding-bottom: 10000px;
				margin-bottom: -10000px;
			}
		</style>
	</head>
	<body>
		<div id="header">header</div>
		<div id="middle" class="clearfix">
			<div id="center">center</div>
			<div id="left">
				leftleftleftleftleft<br />
				leftleftleftleftleft<br />
				leftleftleftleftleft<br />
				leftleftleftleftleft<br />
				leftleftleftleftleft<br />
			</div>	
			<div id="right">right</div>
		</div>
		<div id="footer">footer</div>
	</body>
</html>

第二种是双飞翼布局

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title>圣杯布局</title>
		<style>
			*{
				margin: 0;
				padding: 0;
			}
			body{
				min-width: 600px;
			}
			#header{
				background-color: grey;
				height: 20px;
			}
			#footer{
				background-color: grey;
				height: 20px;
			}
			#center{
				background-color: orangered;
				width: 100%;
				float: left;
			}
			.center_in{
				padding: 0 200px;
			}
			/*-----------解决高度塌陷问题---------*/
			.clearfix{
				*zoom:1;
			}
			.clearfix:after{
				content: "";
				display: block;
				clear: both;
			}
			/*-----------解决高度塌陷问题---------*/
			#middle{
				/* padding: 0 200px; */
				overflow: hidden;/*伪等高布局*/
			}
			#left{
				background-color: orange;
				width: 200px;
				float: left;
				margin-left: -100%;
			}
			#right{
				background-color: orange;
				width: 200px;
				float: right;
				margin-left: -200px;
			}
			#left,#center,#right{
				/*伪等高布局*/
				padding-bottom: 10000px;
				margin-bottom: -10000px;
			}
		</style>
	</head>
	<body>
		<div id="header">header</div>
		<div id="middle" class="clearfix">
			<div id="center">
				<div class="center_in">center</div>
			</div>
			<div id="left">
				leftleftleftleftleft<br />
				leftleftleftleftleft<br />
				leftleftleftleftleft<br />
				leftleftleftleftleft<br />
				leftleftleftleftleft<br />
			</div>	
			<div id="right">right</div>
		</div>
		<div id="footer">footer</div>
	</body>
</html>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值