博客列表 >网页布局之双飞翼/圣杯布局-2018年3月28日18点30分

网页布局之双飞翼/圣杯布局-2018年3月28日18点30分

箭里飘香
箭里飘香原创
2018年03月28日 18:43:37830浏览

“双飞翼/圣杯”是网页布局中的经典布局模式,实现效果图如下:

TIM图片20180327193113.jpg

双飞翼布局代码实现如下:

实例

<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<title>双飞翼</title>
	<style type="text/css">
		.top,.footer {
			width: 100%;
			height: 60px;
			background-color: lightgrey;
		}
		.content {
			width:1000px;	/*内容区宽度与主体一致*/
			background-color: grey;
			margin: auto;	/*内容区居中*/
			line-height: 60px; 	/*内容上下居中*/
			text-align: center;		/*内容左右居中*/
		}
		.contener {
			width:1000px;	/*此宽度为主体区域的整体宽度*/
			margin:auto;	/*使主体区域整体居中*/
			overflow: hidden; 	/*使浮动元素溢出部分自动隐藏,使区块包住子元素main*/
		}
		.wrap {		/*main的父级*/
			width: 100%;	/*宽度继承自contener,高度被子元素撑开*/
			float: left;	/*设置左浮动,使其脱离文档流*/
		}
		.main {
			height: 650px;
			background-color: lightblue;
			margin:0 200px;		/*挤出放置左右两侧的位置*/
		}
		.left {
			width: 200px;
			height: 650px;
			background-color: lightgreen;
			float: left;	/*设置左浮动,使其脱离文档流*/
			margin-left: -100%;		/*浮动文档流第二个子快移动至第一个子快内的左侧*/
		}
		.right {
			width: 200px;
			height: 650px;
			background-color: lightskyblue;
			float: left;	/*设置左浮动,使其脱离文档流*/
			margin-left: -200px;	/*浮动文档流第三个子快移动至第一个子快内的右侧*/
		}
		
		.footer {
			clear: both;	/*清除左右两侧的浮动*/
		}
	</style>
</head>
<body>
	<div class="top">
		<div class="content">头部</div>
	</div>
	<div class="contener">
		<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>圣杯</title>
	<style type="text/css">
		.top,.footer {
			width: 100%;
			height: 60px;
			background-color: lightgrey;
		}
		.content {
			width:1000px;	/*内容区宽度与主体一致*/
			background-color: grey;
			margin: auto;	/*内容区居中*/
			line-height: 60px; 	/*内容上下居中*/
			text-align: center;		/*内容左右居中*/
		}
		.contener {
			width: 600px;	/*此宽度为主体中的中间区域的实际宽度*/
			margin: auto;	/*使主体区域整体居中*/
			overflow: hidden;	/*使浮动元素溢出部分自动隐藏,使区块包住子元素*/
			padding: 0 200px;	/*使主体区域拓展出放置圣杯两侧耳朵的位置*/
		}
		.main {
			width: 100%;	/*继承父级contener的宽度*/
			height: 650px;
			background-color: skyblue;
			float: left;	/*中间区域左浮动*/
		}
		.left {
			width: 200px;
			height: 650px;
			background-color: lightgreen;
			float: left;
			margin-left: -100%;		/*浮动文档流第二个子快移动至第一个子快内的左侧*/
			/*以下属性将其从第一个子快的位置移动至左侧的padding区,右侧固定区域同原理*/
			position: relative;		/*设置其在浮动文档流的相对定位*/
			left: -200px;	
			top: 0;
		}
		.right {
			width: 200px;
			height: 650px;
			background-color: cyan;
			float: left;
			margin-left: -200px;
			position: relative;
			top: 0;
			left: 200px;
		}
		.footer {
			clear: both;	/*清除左右两侧的浮动*/
		}
	</style>
</head>
<body>
	<div class="top">
		<div class="content">头部</div>
	</div>
	<div class="contener">
		<div class="main">中部</div>
		<div class="left">左侧</div>
		<div class="right">右侧</div>
	</div>
	<div class="footer">
		<div class="content">底部</div>
	</div>
</body>
</html>

运行实例 »

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

此两种布局的DOM结构的主体部分写入顺序均为:中-左-右

双飞翼布局要点:中间部分需要一个父级块包裹,并与同级的左右全部设置为左浮动元素,脱离文档流,形成浮动文档流重新排列,中间为main的块需要通过设置margin空出左右两侧放置左右两个翅膀。

圣杯布局要点:中-左-右为同级的块元素,均设置左浮动,脱离文档流,形成浮动文档流重新排列,通过设置中间部分的padding属性空出左右两侧放置圣杯的两只耳朵,左右两侧通过设置margin移动至main内部的左右两侧,在浮动文档流中的相对定位移动至main的左右两侧。

手抄圣杯布局代码如下:

IMG_20180328_184146.jpg

声明:本文内容转载自脚本之家,由网友自发贡献,版权归原作者所有,如您发现涉嫌抄袭侵权,请联系admin@php.cn 核实处理。
全部评论
文明上网理性发言,请遵守新闻评论服务协议