css实现两栏固定中间自适应


css实现两栏固定中间自适应

1、利用绝对定位和margin

此方法的原理说将左右两侧进行定位,让其脱离文档流。 中心区域自然流动到它们下面,再为其设置margin值

此方法页面元素结构可以顺序可以随意变动, 注意top值需要进行处理,不然可能会出现对不齐现象

HTML

1
2
3
4
5
<div id='container'>
<div class='left'>左侧</div>
<div class='center'>中间</div>
<div class='right'>右侧</div>
</div>

CSS

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#container {
position: relative;
}
.left, .right{
position: absolute;
top: 0;
width: 200px;
min-height: 500px;
background-color: red;
}
.left {
left: 0;
}
.right {
right: 0;
}
.center {
margin: 0px 210px;
min-height: 500px;
background-color: yellow;
}

2、利用浮动和margin

此方法的原理说将左右两侧进行float 浮动让其脱离文档流,中心部分处于正常文档流,再为其设置margin值

此方法一定要将center中间部分放到最后,当窗口特别小时右侧会被挤下来

HTML

1
2
3
4
5
<div id='container'>
<div class='left'>左侧</div>
<div class='right'>右侧</div>
<div class='center'>中间</div>
</div>

CSS

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#container {
position: relative;
}
.left, .right {
width: 200px;
min-height: 500px;
background-color: red;
}
.left {
float: left;
}
.right {
float: right;
}
.center {
min-height: 500px;
margin: 0px 210px;
background-color: yellow;
}

3、CSS3 flex

HTML

1
2
3
4
5
<div id='container'>
<div class='left'>左侧</div>
<div class='center'>中间</div>
<div class='right'>右侧</div>
</div>

CSS

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#container {
width: 100%;
display: flex;
}
.left, .right {
width: 200px;
background-color: red;
min-height: 500px;
}
.center {
flex: 1;
min-height: 500px;
margin: 0 10px;
background-color: yellow;
}

效果

参考文章

css实现两栏固定中间自适应


本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!