普通实现
<style>
.box{
display:flex
}
.left,.right{
width:200px
height:600px
background:red
}
.center{
width:100%
height:600px
background:greed
}
</style>
<body>
<div class="box">
<div class="left"></div>
<div class="center"></div>
<div class="right"></div>
</div>
</body>
绝对定位
- 将左右两边使用absolute定位,因为绝对定位使其脱离文档流,后面的center会自然流动到他们上面,然后使用margin属性,留出左右元素的宽度,即可以使中间元素自适应屏幕宽度
- 该布局的好处,三个div顺序可以任意改变,不足是:因为绝对定位,如果页面上还有其他内容,top的值要小心处理,最好能够对css样式进行一个初始化,如果不对样式进行初始化,则两边和中间的值会对不齐。另外,随着窗口 缩小,小于200px的时候,会发生压缩
<style>
html,body{
margin:0px;
width:100%;
}
h3{
height:100px;
margin:20px 0 0;
}
#left,#right{
width:200px;
height:200px;
background-color:red;
position:absolute;
top:120px;
}
#left{
left