博客列表 >3-27 经典布局方式的原理分析

3-27 经典布局方式的原理分析

JcLi的博客
JcLi的博客原创
2018年03月28日 19:54:34633浏览

双飞翼布局代码:

实例

<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<title>双飞翼</title>
	<style>
	/*给头部底部设置样式*/
		.header,.footer {
			/*宽度为窗口宽度*/
			width: 100%;
             /*高度*/
  			height: 60px;
  			/*背景色*/
			background-color: lightgray;
		}
         /*设置头部底部中内容区样式*/
		.content {
			/*总宽度*/
			width: 1000px;
			/*高度同父级*/
			min-height: 100%;
			/*背景色*/
            background-color: gray;
            /*水平居中*/
            margin: auto;
            /*内部文字水平垂直居中*/
            text-align: center;
            line-height: 60px;
		}
		/*设置主体基本样式*/
		.container {
			/*主体宽度*/
			width: 1000px;
			/*水平居中*/
			margin: auto;
			/*背景色*/
			background-color: yellow;
			/*使当前区块能够包住内部的浮动区块*/
			overflow: hidden;
		}
		/*设置主体区域中的中间区块的基本样式*/
		.wrap {
			/*宽度100%同父级,确保后边元素换行显示*/
			width: 100%;
			/*浮动 脱离文档流*/
			float: left;
			/*背景色*/
            background-color: black;
            /*高度*/
            min-height: 600px;
		}
		/*设置中间区块样式*/
		.main {
			/*高度*/
			min-height: 600px;
			/*背景色*/
            background-color: pink;
            /*设置左右外边距为left和right的宽度,使他们显示到正确位置*/
           margin: 0 200px;
		}
		.right {
			/*浮动脱离文档流*/
			float: left;
			/*宽度*/
            width: 200px;
            /*高度*/
            min-height: 600px;
            /*背景色*/
            background-color: lightgreen;
            /*移动到上一行最右侧*/
            margin-left: -200px;
		}
		.left {
			/*浮动脱离文档流*/
			float: left;
			/*宽度*/
            width: 200px;
            /*高度*/
            min-height: 600px;
            /*背景色*/
            background-color: lightskyblue;
            /*移动到上一行最左侧*/
            margin-left: -100%; 
		}
		/*底部去除浮动*/
		.footer {
			clear: both;
		}
	</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>圣杯</title>
	<style>
	/*给头部底部设置样式*/
	.header, .footer {
		/*宽度为窗口宽度*/
		width: 100%;
		/*高度*/
		height: 60px;
		/*背景色*/
		background-color: lightgray;
	}
	.content {
		/*总宽度*/
		width: 1000px;
		/*高度同父级*/
		height: 100%;
		/*背景色*/
		background-color: gray;
		/*水平居中*/
		margin: auto;
		/*内部文字水平垂直居中*/
		text-align: center;
		line-height: 60px;
	}
        /*设置主体基本样式*/
	.container {
		/*主体宽度*/
		width: 600px;
		/*背景色*/
		background-color: yellow;
		/*水平居中*/
		margin:auto;
		/*使它能包住浮动区块*/
		overflow: hidden;  
		/*实现内容的显示*/
		padding:0 200px;
	}
	.container .main {
		/*最小高度*/
		min-height: 650px;
		/*宽度100%确保后边元素挤下去*/
		width: 100%;
		/*浮动脱离文档流*/
		float:left;
		/*背景色*/
		background-color: pink; 
	}
	.container .left {
		/*宽度*/
		width: 200px;
		/*最小高度*/
		min-height: 650px;
		/*浮动之后挤到下一行*/
		float:left;
		/*使他回到上一行主体区域最左侧*/
		margin-left: -100%;
		/*关键步骤:相对定位,向左为负200,相当于向右移动200px;*/
		position: relative;
		left: -200px;
		/*背景色*/
		background-color: lightskyblue; 
	}
	.container .right {
		width: 200px;
		min-height: 650px;
		/*浮动之后挤到下一行*/
		float:left;
		/*使他回到上一行主题区域最右侧*/
		margin-left:-200px;
		/*关键步骤:设置为相对定位,right:-200px意思是向左边移动200px;*/
		position: relative;
		right:-200px;

		/*背景色*/
		background-color: lightgreen;
	}
	/*底部去除浮动*/
	.footer {
		clear: both;
	}
	</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>

运行实例 »

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

主要区别:

双飞翼是main在wrap里 ,设置wrap100%宽度确保后边块换行显示,最后左右两部分位移到上一行,通过左右外边距把中间寄出来。

圣杯是main在cintainer里 ,设置cintainer600宽度, 里边的main100%宽度确保后边块换行显示,左右两部分位移到上一行主体的左右侧,最后通过相对定位腾出位置。

手抄:

11.jpg22.jpg33.jpg44.jpg

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