Blogger Information
Blog 100
fans 8
comment 2
visits 150235
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
20180327作业(双飞翼、圣杯布局)
lilove的博客
Original
1421 people have browsed it

主题:

三列布局的三种方式:绝对定位布局,“双飞翼”布局,“圣杯”布局。

双飞翼布局特点:网页主体部分由中间部分与两侧部分用margin分开并定位。

圣杯布局特点:网页主体部分由中间部分用padding包住两侧部分并用margin定位。

具体实现效果如下:

实现效果.png

“双飞翼”布局代码:


<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<title>2.双飞翼布局</title>
	<style type="text/css">
		.header,.footer {
			width:100%;	/*使头部和尾部宽度自适应*/
			height:50px;
			background-color:grey;
		}
		.footer {
			clear:both;	/*为尾部清除浮动*/
		}
		.content {
			width:1000px;
			min-height:100%;	/*设置头尾内容区域最小高度100%以便于后期添加网站内容*/
			background-color:coral;
			margin:0 auto;	/*设置内容区域块在父容器中水平居中*/
			text-align: center;	/*设置内容区域的文本水平居中*/
			line-height:50px;	/*设置内容区域文本垂直居中*/
		}
		.container {
			width:1000px;	/*只设置宽度,高度由容器内元素指定*/
			background-color:yellow;
			margin:0 auto;	/*设置中间容器水平居中*/
		}
		.wrap {
			width:100%;	/*宽度为100%会将后面浮动的元素挤到下一行显示*/
			min-height:650px;
			background-color:pink;
			float:left;	/*将元素左浮动,会脱离文档流*/
		}
		.main {
			min-height:650px;
			margin:0 200px;	/*将被覆盖的区域挤出来*/
		}
		.left {
			width:200px;
			min-height:650px;
			background-color:skyblue;
			float:left;
			margin-left:-100%;	/*将浮动的左边DOM移动到正确位置*/
		}
		.right {
			width:200px;
			min-height:650px;
			background-color:lightgreen;
			float:left;
			margin-left:-200px;	/*这里只需将margin值定位要移动的元素宽度就可以*/
		}
	</style>
</head>
<body>
	<!-- 头部 -->
	<div class="header">
		<div class="content">头部</div>
	</div>
	<!-- 主体 -->
	<div class="container">
		<div class="wrap">
			<div class="main">主体</div>
		</div>
		<div class="left">左边</div>
		<div class="right">右边</div>
    </div>
	<!-- 尾部 -->
    <div class="footer">
    	<div class="content">尾部</div>
    </div>
</body>
</html>

运行实例 »

点击 "运行实例" 按钮查看在线实例

“圣杯”布局代码:

<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<title>3.圣杯布局</title>
	<style type="text/css">
		.header,.footer {
			width:100%;	/*使头部和尾部宽度自适应*/
			height:50px;
			background-color:grey;
		}
		.footer {
			clear:both;	/*为尾部清除浮动*/
		}
		.content {
			width:1000px;
			min-height:100%;	/*设置头尾内容区域最小高度100%以便于后期添加网站内容*/
			background-color:coral;
			margin:0 auto;	/*设置内容区域块在父容器中水平居中*/
			text-align: center;	/*设置内容区域的文本水平居中*/
			line-height:50px;	/*设置内容区域文本垂直居中*/
		}
		.container {
			width:600px;	/*这里和双飞翼布局宽度不同*/
			background-color:yellow;
			margin:0 auto;	/*设置中间容器水平居中*/
		}
		.main {
			width:100%;	/*宽度为100%会将后面浮动的元素挤到下一行显示*/
			min-height:650px;
			background-color:pink;
			float:left;	/*将元素左浮动,会脱离文档流*/
		}
		.left {
			width:200px;
			min-height:650px;
			background-color:skyblue;
			float:left;
			margin-left:-100%;	/*这里和双飞翼布局设置一样*/
			/*相对定位移动元素到正确位置*/
			position:relative;	/*相对于浮动元素文档流*/
			right:200px;	/*向左移动200px*/
		}
		.right {
			width:200px;
			min-height:650px;
			background-color:lightgreen;
			float:left;
			margin-left:-200px;	/*这里和双飞翼布局设置一样*/
			/*相对定位移动元素到正确位置*/
			position:relative;	/*相对于浮动元素文档流*/
			left:200px;	/*向右移动200px*/
		}
	</style>
</head>
<body>
	<!-- 头部 -->
	<div class="header">
		<div class="content">头部</div>
	</div>
	<!-- 主体 -->
	<div class="container">		
		<div class="main">主体</div>		
		<div class="left">左边</div>
		<div class="right">右边</div>
    </div>
	<!-- 尾部 -->
    <div class="footer">
    	<div class="content">尾部</div>
    </div>
</body>
</html>

运行实例 »

点击 "运行实例" 按钮查看在线实例

总结:我个人喜欢双飞翼布局,两者的效果差不多,由于块元素基本都是自增长,网页内容的填充也比较方便,需要注意的是布局时文档流的变化和相对定位的目标变化,以及两种经典布局的区别。

以下是手写代码:

20180327作业手写.png

Correction status:qualified

Teacher's comments:
Statement of this Website
The copyright of this blog article belongs to the blogger. Please specify the address when reprinting! If there is any infringement or violation of the law, please contact admin@php.cn Report processing!
All comments Speak rationally on civilized internet, please comply with News Comment Service Agreement
0 comments
Author's latest blog post