CSS自适应布局
CSS自适应布局可以说是前端程序员必会的一项,本篇文章主要介绍作者在开发中常用的自适应布局方法。
一、左边宽度固定,右边宽度自适应
首先HTML:
1 <div class="wrap"> 2 <div class="left">固定宽度200px</div> 3 <div class="right">自适应宽度</div> 4 </div>
1.left 设置float:left
1 *{ 2 margin:0; 3 padding: 0; 4 } 5 body,html{ 6 height: 100%; 7 width: 100%; 8 } 9 10 .wrap{ 11 width: 100%; 12 height: 100%; 13 } 14 .left{ 15 float: left; // 这里 16 width: 200px; 17 height: 100%; 18 background-color: green; 19 } 20 .right{ 21 width: 100%; 22 height: 100%; 23 background-color: blue; 24 }
2.自适应元素的calc()
cale()会根据传入的值自动计算。
1 *{ 2 margin:0; 3 padding: 0; 4 } 5 body,html{ 6 height: 100%; 7 width: 100%; 8 } 9 10 .wrap{ 11 width: 100%; 12 height: 100%; 13 } 14 .left{ 15 float: left; 16 width: 200px; 17 height: 100%; 18 background-color: green; 19 } 20 .right{ 21 float: left; 22 width: calc(100% - 200px); // 这里 23 height: 100%; 24 background-color: blue; 25 }
3.父元素display:table
父容器采用display: table和table-layout: fixed时,子容器会平分父容器的宽度,这时候固定某列的width,其余的列会继续平分剩下的宽度。
1 * { 2 margin: 0; 3 padding: 0; 4 } 5 6 body, 7 html { 8 height: 100%; 9 width: 100%; 10 } 11 12 .wrap { 13 display: table; // 1 14 width: 100%; 15 height: 100%; 16 table-layout: fixed; // 2 17 } 18 19 .left { 20 display: table-cell; // 3 21 width: 200px; 22 height: 100%; 23 background-color: green; 24 } 25 26 .right { 27 display: table-cell; // 4 28 width: 100%; // 5 29 height: 100%; 30 background-color: blue; 31 }
4.父元素display:flex
1 * { 2 margin: 0; 3 padding: 0; 4 } 5 6 body, 7 html { 8 height: 100%; 9 width: 100%; 10 } 11 12 .wrap { 13 display: flex; // 1 14 width: 100%; 15 height: 100%; 16 } 17 18 .left { 19 width: 200px; 20 height: 100%; 21 background-color: green; 22 } 23 24 .right { 25 flex: 1; // 2 26 height: 100%; 27 background-color: blue; 28 }

浙公网安备 33010602011771号