Blogger Information
Blog 42
fans 0
comment 1
visits 26053
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
经典的双飞翼和圣杯三列布局—2018年3月28日18时45分
日薪月e的博客
Original
889 people have browsed it

此次作业内容主要是经典的两种三列布局:双飞翼和圣杯布局。

双飞翼和圣杯布局主要是实现左、右两侧定宽,中间自适应宽度的三列布局。总体思路非常相像。都是将中间区块优先放在文档流前面,以便于优先渲染,然后是左、右两侧区块,并且三个区块全部进行左浮动。

不同之间在双飞翼的中间区块居中并且宽度为父级区块的100%,左、右两是在中间区块的上面左右两侧,为了显示出被遮挡的内容,用margin进行左右外边距的设置,分别与左、右两侧区块同宽。

圣杯布局的中间区块和左、右两侧区块是三个部分,利用中间区块设置padding内边距占位,再将左、右区块进行相对定位移动到padding区域。

具体代码分别如下。

1、双飞翼三列布局代码:

实例

<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<title>双飞翼三列布局-3月27日作业</title>
	<style type="text/css">
		/*设置网站头部和底部样式*/
		.header,.footer{
			/*宽度自适应*/
			width: 100%;
			height: 60px;
			background-color: lightgray;	
		}
		.footer{
			/*将底部清除浮动,以使其正确显示在浮动区块下方*/
			clear: both;
		}
		.content{
			/*头部与底部显示内容的样式*/
			width: 1000px;
			height: 100%;
			background-color: gray;
			/*显示内容自动居中*/
			margin: auto;
			/*内容中的文本水平居中*/
			text-align: center;
			/*内容中的文本垂直居中*/
			line-height: 60px;
		}
		/*给主体内容创建父级容器并设置样式*/
		.container{
			width: 1000px;
			background-color: yellow;
			margin: auto;
			
		}
		/*创建中间块的父级区块,设置基本样式*/
		.wrap{
			width: 1000px;
			background-color: gray;
			/*中间的主体、左侧和右侧都设置为左浮动*/
			float: left;
			overflow: hidden;
		}
		/*设置中间主体区块的样式*/
		.main{
			min-height: 650px;
			background-color: wheat;
			/*通过margin设置左右外边距,使内容显示出来*/
			margin: 0 200px;
		}
		/*左侧样式*/
		.left{
			width: 200px;
			min-height: 650px;
			background-color: pink;
			/*左浮动*/
			float: left;
			/*通过margin-left设置使用左侧区块从下方移至中间区块的左侧位置*/
			margin-left: -100%;
		}
		/*右侧样式*/
		.right{
			width: 200px;
			min-height: 650px;
			background-color: lightgreen;
			/*左浮动*/
			float: left;
			/*通过margin-left设置使用左侧区块从下方移至中间区块的右侧位置*/
			margin-left: -200px;
		}
	</style>
</head>
<body>
	<!-- 网站头部 -->
	<div class="header">
		<div class="content">
			头部内容
		</div>	
			
	</div>
	<!-- DOM结构 -->
	<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>

运行实例 »

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

2、圣杯三列布局代码:

实例

<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<title>圣杯三列布局-3月27日作业</title>
	<style type="text/css">
		/*设置网站头部和底部样式*/
		.header,.footer{
			/*宽度自适应*/
			width: 100%;
			height: 60px;
			background-color: lightgray;	
		}
		.footer{
			/*将底部清除浮动,以使其正确显示在浮动区块下方*/
			clear: both;
		}
		.content{
			/*头部与底部显示内容的样式*/
			width: 1000px;
			height: 100%;
			background-color: gray;
			/*显示内容自动居中*/
			margin: auto;
		}
		/*给主体内容创建父级容器并设置样式*/
		.container{
			/*设置容器宽度,此处应特别注意,与双飞翼不同。双飞翼的宽度是100%,而圣杯的宽度是中间与左、右三个部分的和是100%*/
			width: 600px;
			background-color: yellow;
			margin: auto;
			/*防止高度塌陷*/
			overflow: hidden;
			/*因为容器宽度只有600px,所以用padding进行点位,以便于使left和right能移动到padding区*/
			padding: 0 200px;
		}
		/*设置中间主体区块的样式*/
		.main{
			/*必须设置宽度为父级的100%,将左、右侧的浮动区块挤到下边*/
			width: 100%;
			min-height: 650px;
			background-color: wheat;
			/*左浮动*/
			float: left;
		}
		/*左侧样式*/
		.left{
			width: 200px;
			min-height: 650px;
			background-color: pink;
			/*左浮动*/
			float: left;
			/*左侧区块从下边移至中间区块左侧*/
			margin-left: -100%;
			/*使左侧区块移动到padding区*/
			position: relative;
			left: -200px;
		}
		/*右侧样式*/
		.right{
			width: 200px;
			min-height: 650px;
			background-color: lightgreen;
			/*左浮动*/
			float: left;
			/*右侧区块从下边移至中间区块右侧*/
			margin-left: -200px;
			/*使右侧区块移动到padding区*/
			position: relative;
			right: -200px;
		}
	</style>
</head>
<body>
	<!-- 网站头部 -->
	<div class="header">
		<div class="content">
			头部内容
		</div>	
			
	</div>
	<!-- DOM结构 -->
	<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>

运行实例 »

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

效果图:

00.png


个人体会:

1、两种布局在进行中间主体区块的宽度设置时要特别注意,这是这两种布局很重要的区别。

双飞翼:main=100%,圣杯:main+left+right=100%。

2、从DOM结构上,圣杯布局比双飞翼简洁明了。但双飞翼虽然中间区块多了一个父级区块,但属性设置上比圣杯简单易懂,个人比较喜欢双飞翼布局。

手写代码:(正在抄写,稍后上传)

01.jpg

02.jpg

03.jpg

04.jpg


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