html结构以下:html
<div class="parent"> <div class="left">我是左边固定</div> <div class="right">我是右边自适应</div> </div>
(1)左边向左浮动并固定宽度,右边给margin-left (注:右边这个div必定不能给width:100%)flex
.parent{ width:100%; height:400px; } .left{ float:left; width:200px; height:100%; background:#afa; } .right{ height:100%; margin-left:200px; background:yellow; }
(2)父元素相对定位,左边绝对定位并给固定宽度,右边margin-left (注:右边这个div必定不能给width:100%)flexbox
.parent{ position:relative; width:100%; height:400px; } .left{ position:absolute; left:0; width:200px; height:100%; background:#afa; } .right{ margin-left:200px; height:100%; background:#aba; }
(3)使用flexbox,父元素display:flex,左边元素固定宽度,右边必定记得加flex:1spa
.parent{ width:100%; height:400px; display:flex; } .left{ width:200px; background:#afa; } .right{ flex:1; background:yellow; }
(3)父元素相对定位,且须要设置padding-left,左边的元素绝对定位且为固定宽度,右边的元素须要设置width:100%code
.parent{ width:100%; height:400px; padding-left:200px; position:relative; } .left{ position:absolute; left:0; width:200px; height:100%; background:#afa; } .right{ width:100%; height:100%; background:#aba; }