

圣杯布局
圣杯布局HTML:
我是主要 我是左边 我是右边
圣杯布局CSS:
* {
margin: 0;
padding: 0
}
.main {
background-color: yellow;
height: 100px;
float: left;
width: 100%;
}
.left {
background-color: red;
width: 200px;
height: 100px;
float: left;
margin-left: -100%; /*margin负边距*/
position: relative; /*相对自身偏移*/
left: -200px;
}
.right {
background-color: blue;
width: 200px;
height: 100px;
float: left;
margin-left: -200px; /*margin负边距*/
position: relative; /*相对自身偏移*/
right: -200px;
}
.wrap {
padding: 0 200px; /*父级设置padding*/
}圣杯布局的优点:
使主要内容列先加载。
允许任何列是最高的。
没有额外的div。
需要的hack很少。
双飞翼布局
双飞翼HTML
双飞翼布局 我是主要 我是左边 我是右边
双飞翼CSS
.main-wrap {
float: left;
width: 100%;
}
.main {
height: 100px;
margin-left: 200px; /*利用左、右外边距定位*/
margin-right: 200px;
background-color: yellow;
}
.left {
background-color: red;
width: 200px;
height: 100px;
float: left;
margin-left: -100%;
}
.right {
background-color: blue;
width: 200px;
height: 100px;
float: left;
margin-left: -200px;
}圣杯布局和双飞翼的比较:
1.两种布局都是把主要内容放在前面加载;
2.布局有相似之处,都使用了负外边距来布局;
3.不同:
圣杯布局是设置 父容器的padding值、相对定位来实现;
双飞翼布局是给main添加了一个div容器、设置main的左右外边距 来实现;
