常用的后台布局方式。左侧固定,右侧宽度自适应屏幕。
实现方式
- BFC。运用 BFC 不和 float 块重叠的特点
- position 布局。right 块 absolute,让 left 为right的宽度
- 自适应布局。right 不设置宽度。用 margin 撑开左边边距。
- flex 布局。right 设置 flex=1.left 设置 flex-shrink:0;
- 运用 css 函数 calc。自动计算右侧的宽度。设置 right 的 width:calc(100% - left.width)。
代码实现
<div class="float-box"> <div class="aside"></div> <div class="main"></div> </div>
- BFC
.float-box { position: relative; } .aside { width: 100px; height: 150px; float: left; background: #f66; } .main { height: 200px; background: #fcc; overflow: hidden; }
- postion 布局
.float-box { position: relative; } .aside { width: 100px; height: 150px; float: left; background: #f66; } .main { height: 200px; background: #fcc; position: absolute; left: 100px; right: 0; }
- 自适应布局
.float-box { position: relative; } .aside { width: 100px; height: 150px; float: left; background: #f66; } .main { height: 200px; margin-left: 100px; background: #fcc; }
- flex 布局
.float-box { display: flex; justify-content: flex-start; } .aside { width: 100px; height: 150px; background: #f66; flex-shrink: 0; } .main { height: 200px; background: #fcc; flex-grow: 1; flex-shrink: 0; flex-basis: auto; }
- cacl 计算
.float-box { position: relative; } .aside { width: 100px; height: 150px; float: left; background: #f66; } .main { float: left; height: 200px; background: #fcc; width: calc(100% - 100px) }
来源:https://www.cnblogs.com/shenggao/p/12381328.html