一、 圣杯布局、
左右固宽,中间自适应
- 三列布局,中间宽度自适应,两边定宽;
- 中间部分要在浏览器中优先展示渲染;
具体步骤:
1.设置基本样式
2.圣杯布局是一种相对布局,首先设置父元素container的位置:
3.将主体部分的三个子元素都设置左浮动
4.设置main宽度为width:100%,让其单独占满一行
5.设置left和right 负的外边距
6.接下来只要把left和right分别移动到这两个留白就可以了。可以使用相对定位移动 left和right部分。
代码如下:
<!doctype html>
<html>
<head>
<meta charset="utf-8"/>
<title>圣杯布局</title>
<style>
body{
margin:0;
}
.box{
margin:0 auto;
width:900px;
height:300px;
background-color:orange;
padding:0 200px;
}
.left{
width:200px;
height:300px;
background-color:red;
float:left;
margin-left:-100%;
position:relative;
left:-200px;
}
.center{
width:100%;
height:300px;
background-color:pink;
float:left;
}
.right{
width:200px;
height:300px;
background-color:blue;
float:left;
margin-left:-200px;
position:relative;
right:-200px;
}
</style>
</head>
<body>
<div class="box">
<div class="center"></div>
<div class="left"></div>
<div class="right"></div>
</div>
</body>
</html>
效果图:
二、双飞翼布局
左右固宽,中间自适应
- 左右两个div浮动,中间的div放在上面
- 通过margin-left调整到一行
- 中间div添加一个子节点,设置margin调整位置
代码如下:
<!doctype html>
<html>
<head>
<meta charset="utf-8"/>
<title>双飞翼布局</title>
<style>
body{
margin:0;
}
.box{
margin:0 auto;
width:900px;
height:300px;
background-color:orange;
}
.warp{
margin:0 200px;
}
.left{
width:200px;
height:300px;
background-color:red;
float:left;
margin-left:-100%;
}
.center{
width:100%;
height:300px;
background-color:pink;
float:left;
}
.right{
width:200px;
height:300px;
background-color:blue;
float:left;
margin-left:-200px;
}
</style>
</head>
<body>
<div class="box">
<div class="center">
<div class="warp"></div>
</div>
<div class="left"></div>
<div class="right"></div>
</div>
</body>
</html>
效果图: