圣杯布局
- header和footer占屏幕全部宽度,高度固定
- 中间的contaier部分是一个三栏布局
- left和right宽度固定,middle自适应填满整个区域;高度为三栏中最大的高度
浮动
1 | <header class="header">header</header> |
1 | .header{ |
flex布局
1 | <header class="header">header</header> |
1 | //middle占据除left和right之外的剩余所有空间,并不被遮挡 |
绝对定位
以上两种dom结构均可1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35.header{
height:50px;
width:100%;
border:1px solid black;
}
.container{
height:300px;
position: relative;
padding: 0 100px;
}
.left{
position: absolute;
top: 0;
left: 0;
width:100px;
height:100%;
background-color:black;
}
.middle{
height:100%;
background-color:pink;
}
.right{
position: absolute;
top:0;
right: 0;
width:100px;
height:100%;
background-color:black;
}
.footer{
height:50px;
width:100%;
border:1px solid black;
}
双飞翼布局
双飞翼布局和圣杯布局几乎一样,区别在于处理middle中被遮挡的部分。
- 圣杯布局是在三栏布局的父容器中设置padding。
- 双飞翼布局是在middle中再放一个div用来显示内容,为其设置margin。
1 | <header>header</header> |
1 | //使用圣杯布局的浮动和绝对定位时设置,同时把container中的padding去除 |