CSS實現左側固定寬度右側自適應的固比佈局
阿新 • • 發佈:2019-01-30
三種方案
1、 box1使用diaplay:table; display:table-cell; 配合calc 實現。
2、 box2使用dispaly:flex;flex:1實現。
3、 box3使用position、配合padding-left 或border-left 實現。
以上三種方案,可根據不同的應用場景,選擇不同的方案,然後優化相容性的問題。
HTML
<div class="box box1">
<div class="item1 left1">title</div>
<div class="item1 right1">box1 content</div>
</div>
<div class="box box2">
<div class="left2">title</div>
<div class="right2">box2 content</div>
</div>
<div class="box box3">
<div class ="left3">title</div>
<div class="right3">box3 content</div>
</div>
CSS
* {
margin: 0;
padding: 0;
}
.box {
width: 100%;
height: 100px;
font-size: 18px;
color: #fff;
margin-top: 50px;
}
.box1 {
display: table;
}
.left1 {
width : 50px;
height: 100px;
background-color: #B1D5EF;
display: table-cell;
}
.right1 {
width: calc(100% - 50px);
width: -webkit-calc(100% - 50px);
height: 100px;
background-color: #268BD2;
display: table-cell;
}
.box2 {
display: flex;
display: -webkit-flex;
}
.left2 {
width: 50px;
height: 100px;
background-color: #B1D5EF;
display: inline-flex;
display: -webkit-inline-flex;
}
.right2 {
flex: 1;
height: 100px;
background-color: #268BD2;
display: inline-flex;
display: -webkit-inline-flex;
}
.box3 {
position: relative;
}
.left3 {
width: 50px;
height: 100px;
background-color: #B1D5EF;
display: table-cell;
position: absolute;
left: 0;
top: 0;
}
.right3 {
width: 100%;
height: 100px;
/*border-left: 50px solid #268BD2;*/
padding-left: 50px;
background-color: #268BD2;
box-sizing: border-box;
-webkit-box-sizing: border-box;
}
表現