博主信息
博文 59
粉丝 0
评论 1
访问量 58031
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
三例双飞翼布局与三例圣杯布局总结——2018年3月28日1时05分
白猫警长的博客
原创
962人浏览过

双飞翼布局与圣杯布局有很多相似之处,不同的是一个使用margin,一个使用Padding来控制左右区块。究竟怎么来写呢,看实例代码:

三例双飞翼布局实例:

<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<title>三例双飞翼布局</title>
	<style>
	/* 	头部与底部通用样式 */
		.top,.foort{
			width: 100%;
			height: 60px;
			background-color: bisque;
			text-align: center;
			line-height: 60px;
		}
		.top2,.foor2{
			width: 1000px;
			height: 100%;
			background-color: coral;
			/* 区块水平居中 */
			margin: auto;
		}
		/* 主体区块 父级元素*/
		.comter{
			width: 1000px;
			background-color: yellow;
			margin: auto;
			/* 隐藏超出当前区块部分的内容 */
			overflow: hidden;
		}
		.center{
			width: 100%;
			/* 左浮动,中间区块 父级 */
			float: left;
		}
		/* 子级 */
		.center .mai{
			height: 600px;
			/* 让当前区块向左右两侧各挤出200像素,并且居中显示。 */
			margin: 0 200px;
			background-color: green;
		}
		/* 左浮动,左侧区块 */
		.left{
			width: 200px;
			height: 600px;
			background-color: cyan;
			float: left;
			margin-left: -100%;
		}
		/* 左浮动,右侧区块 */
		.right{
			width: 200px;
			height: 600px;
			background-color: deeppink;
			float: left;
			margin-left: -200px;
		}
		.foort{
			/*清除浮动*/
			clear: both;
		}
	</style>
</head>
<body>
	<div class="top">
		<div class="top2">头部</div>
	</div>
	<div class="comter">
		<div class="center">
		<div class="mai">中间</div>
		</div>
		<div class="left">左侧</div>
		<div class="right">右侧</div>
	</div>
	<div class="foort">
		<div class="foor2">底部</div>
	</div>
</body>
</html>

运行实例 »

执行效果:

双飞翼布局.png


三例圣杯布局实例:

<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<title>三例圣杯布局</title>
	<style>
		.top,.foort{
			width: 100%;
			height: 60px;
			background-color: bisque;
			text-align: center;
			line-height: 60px;
		}
		.top2,.foor2{
			width: 1000px;
			height: 100%;
			background-color: coral;
			/* 区块水平居中 */
			margin: auto;
		}
		.comater{
			width: 600px;
			height: 100%;
			background-color: red;
			margin:auto;
			/*隐藏当前容器溢出内容部分*/
			overflow: hidden;
			/*给当前容器添加内边距(padding),把左右两侧向中间挤压*/
			padding: 0 200px;
		}
		.comater .mai{
			width: 100%;
			height: 600px;
			background-color: yellow;
			/*左浮动,中间子区块*/
			float: left;	
		}
		.comater .left{
			width: 200px;
			height: 600px;
			background-color: blue;
			/*左浮动,左侧区块*/
			float: left;
			/*将补挤下来的左侧区块使用margin回到主体指定位置*/
			margin-left: -100%;
			/*为显示完整的主体内容,使用相对定位left和right把占据主体部分的位置腾出来*/
			/*左侧区块遮挡了主体部分内容,设置left相对定位属性向反方向移动自身像素*/
			position: relative;
			left: -200px;
		}
		.comater .right{
			width: 200px;
			height:600px;
			background-color: green;
			/*左浮动,右侧区块*/
			float: left;
			/*右侧区块显示在右边位置,只需要返回自身像素*/
			margin-left: -200px;
			/*右侧区块遮挡了主体部分内容,使用right相对定位属性向反方向移动自身像素*/
			position: relative;
			right: -200px;
		}
		.foort{
			/*清除浮动*/
			clear: both;
		}
	</style>
</head>
<body>
	<div class="top">
		<div class="top2">头部</div>
	</div>
	<div class="comater">
		<div class="mai">中间</div>
		<div class="left">左侧</div>
		<div class="right">右侧</div>
	</div>
	<div class="foort">
		<div class="foor2">底部</div>
	</div>
</body>
</html>

运行实例 »

执行效果预览图:

圣杯布局.png


手抄作业:

1.jpg

2.jpg


总结:通过以上2个预览图可以看出,2种布局方法的效果是一样的。那么肯定有人问了,双飞翼和圣杯哪个好呢?我只能说,2种布局各有各的长处,一个在DOM结构方面比较简洁,一个在CSS样式中比较简单。对DOM结构有洁癖的可以选择想圣杯,反之选择双飞翼。


批改状态:合格

老师批语:
本博文版权归博主所有,转载请注明地址!如有侵权、违法,请联系admin@php.cn举报处理!
全部评论 文明上网理性发言,请遵守新闻评论服务协议
0条评论
作者最新博文
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号

  • 登录PHP中文网,和优秀的人一起学习!
    全站2000+教程免费学