效果如下
利用flex布局 <div class="box"> <div class="left">left</div> <div class="center">center</div> <div class="right">right</div> </div> .box{ display: flex; justify-content: space-between; } .right,.left{ flex: 0 0 200px; background: rgb(0, 255, 55);; } .center{ flex: 1; background-color: aqua } 利用定位 <div class="box"> <div class="left">left</div> <div class="center">center</div> <div class="right">right</div> </div> .box{ width: 100%; position: relative; } .right{ width: 200px; background-color: rgb(0, 255, 55); position: absolute; right: 0; top: 0; } .left{ width: 200px; background-color: rgb(0, 255, 106); position: absolute; left: 0; top: 0; } .center{ background-color: aqua } 浮动 <div class="box"> <div class="left">left</div> <div class="center">center</div> <div class="right">right</div> </div>方法一:向同方向浮动,利用calc(100% - 400px)计算中间部分宽度
.left{ width: 200px; float: left; background-color: rgb(0, 255, 106); } .center{ width: calc(100% - 400px); float: left; background-color: aqua; } .right{ width: 200px; float: left; background-color: rgb(0, 255, 55); }方法二:左右浮动,中间自适应
.left{ width: 200px; float: left; background-color: rgb(0, 255, 106); } .center{ background-color: aqua; } .right{ width: 200px; float: right; background-color: rgb(0, 255, 55); } 利用margin(圣杯布局和双飞翼布局)方法一:圣杯布局
<div class="box"> <div class="center">center</div> <div class="left">left</div> <div class="right">right</div> </div> .box{ padding: 0 200px; } .center{ width: 100%; float: left; background-color: aqua; } .left{ width: 200px; float: left; margin-left: -100%; position: relative; left: -200px; background-color: rgb(0, 255, 106); } .right{ width: 200px; float: left; margin-left: -200px; position: relative; right: -200px; background-color: rgb(0, 255, 55); }方法二:双飞翼布局
<div class="box"> <div class="center"> <div class="content">center</div> </div> <div class="left">left</div> <div class="right">right</div> </div> .center{ width: 100%; float: left; background-color: aqua; } .left{ width: 200px; float: left; margin-left: -100%; background-color: rgb(0, 255, 106); } .right{ width: 200px; float: left; margin-left: -200px; background-color: rgb(0, 255, 55); }