css布局技巧

主流处理等分布局

参考各大网站发现都使用到了给 ul 设置负的 margin 值

  1. 首先将宽度除以份数,如 1200/5 则每个格子 240px;
  2. 给每份增加 margin-left 如 20px,则每个格子 width 减少 20px 变为 220px
  3. 第一个元素不需要 margin-left ,所以使用对 ul 使用 margin-left: -20px,则盒子总宽度1220px
  4. 1220/5 则每个格子占 244px,所以每个格子的 width 为 224px

双飞翼布局

关于什么是双飞翼布局,网上一大堆介绍…主要实现的是左右固定而中间区域自适应…废话不说,上代码

1
2
3
4
5
6
7
<div class = "container">
<div class="center col">
<div class="main">这是一行字</div>
</div>
<div class="left col">这是一行字</div>
<div class="right col">这是一行字</div>
</div>
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
36
*{
margin: 0;
padding: 0;
}
body{
color: red;
font-weight: bold;
}
.container{
width: 100%;
}
.col{
float: left;
}
.center{
width: 100%;
min-height: 500px;
background: pink;
}
.main{
margin-left: 300px;
margin-right: 200px;
min-height: 500px;
}
.left{
margin-left: -100%;
width: 300px;
min-height: 500px;
background: blue;
}
.right{
margin-left: -200px;
min-height: 500px;
width: 200px;
background: yellow;
}

注意两点:
1.center 为什么写在最前面,因为可以起到中间内容区优先加载的作用。
2.为什么要在 center 中套一个 main?因为 left 把 center 的内容遮挡了,需要 margin-left 一个 left 的宽度,同理,right 也是

双飞翼布局是个啥