方法一:两边使用float + 中间使用margin
方法二:两边使用absolute + 中间使用margin
方法三:flex 布局
方法四:grid 布局
方法一:相关HTML代码【两边使用float + 中间使用margin】
<div class="container"><div class="left"></div><div class="right"></div><div class="main">123</div>
</div>
方法一:相关CSS代码【两边使用float + 中间使用margin】
.container{width: 400px;height: 100px;border: 1px solid #000;}.left, .right, .main{height: 100px;}.left {width: 100px;float: left;background-color: aliceblue;}.right{width: 100px;float: right;background-color: blanchedalmond;}.main{margin: 0 100px;background-color: aqua;}
方法二:相关HTML代码【两边使用absolute + 中间使用margin】
<div class="container"><div class="left"></div><div class="main">123</div><div class="right"></div></div>
方法二:相关CSS代码【两边使用absolute + 中间使用margin】
.container{width: 400px;height: 100px;border: 1px solid #000;position: relative;}.left, .right, .main{height: 100px;}.left {width: 100px;background-color: aliceblue;position: absolute;left: 0;top: 0;}.right{width: 100px;background-color: blanchedalmond;position: absolute;right:0;top: 0;}.main{margin: 0 100px;background-color: aqua;}
方法三:相关HTML代码【flex 布局】
<div class="container"><div class="left"></div><div class="main">123</div><div class="right"></div></div>
方法三:相关CSS代码【flex 布局】
.container{width: 400px;height: 100px;border: 1px solid #000;display: flex;}.left, .right, .main{height: 100px;}.left {width: 100px;background-color: aliceblue;}.right{width: 100px;background-color: blanchedalmond;}.main{flex: 1;background-color: aqua;}
方法四:相关HTML代码【grid 布局】
<div class="container"><div class="left"></div><div class="main">123</div><div class="right"></div></div>
方法四:相关CSS代码【grid 布局】
.container{width: 400px;height: 100px;border: 1px solid #000;display: grid;grid-template-columns: 100px auto 100px;}.left, .right, .main{height: 100px;}.left {background-color: aliceblue;}.right{background-color: blanchedalmond;}.main{background-color: aqua;}
结果展示:
其他
【两边使用float, 中间使用负margin 的方法比较复杂】
【table布局,性能低,易引发回流和重绘,放弃】
【方法一到四宽度均会自适应,不需要设置width:100%】