利用bfc:右边盒子触发bfc,使其不与浮动盒子区域重叠,因此会重新计算宽度。
1 <style>
2 .box{ width: 900px; margin: 0 auto; background-color: #eee; }
3 .left{ min-width: 200px; float: left; background-color: yellow; height: 60px;}
4 .bfc { background-color: green; }
5 .right{ display: inline-block; margin-left: 20px; background-color: red; height: 60px;}
6 </style>
7 <div class="box">
8 <div class="left">
9 我是自适应宽度盒子,min-width:200px
10 </div>
11 <div class="bfc">
12 <div class="right">
13 我是自适应宽度,铺满剩下宽度
14 </div>
15 </div>
16 </div>
效果如图

补充一下:
BFC翻译过来是块级格式化上下文,和haslayout比较相似,但haslayout是旧版本IE下的一个专有属性,表示元素自己对自身的内容进行组织和计算。BFC相当于一个独立的渲染单元,内外元素不会相互影响。我这里overflow:hidden触发BFC,利用的是BFC布局的一条特性,就是BFC的区域不会与浮动盒子重叠。BFC有很多特性,也有很多触发方式,感兴趣的同学可以google深入了解下
来源:https://www.cnblogs.com/yijinc/p/5908228.html