flex-grow
用于处理flex
容器剩余空间。css
剩余空间 = flex容器宽度 - (项目1flex-basis
+ 项目2flex-basis
+ ... + 项目nflex-basis
)html
项目1分配空间 = [项目1flex-grow
/ (项目1flex-grow
+ 项目2flex-grow
+ ... + 项目nflex-grow
)] * 剩余空间css3
300px
)<div class="row"> <div class="col"></div> <div class="col"></div> </div>
.row { display: flex; width: 600px; height: 100px; } .row > .col:nth-child(1) { background: red; flex-basis: 100px; flex-grow: 0; } .row > .col:nth-child(2) { background-color: green; flex-basis: 200px; flex-grow: 0; }
<div class="row"> <div class="col"></div> <div class="col"></div> </div>
.row { display: flex; width: 600px; height: 100px; } .row > .col:nth-child(1) { background: red; flex-basis: 100px; flex-grow: 2; } .row > .col:nth-child(2) { background-color: green; flex-basis: 200px; flex-grow: 1; }
项目1:学习
项目2:flex
flex-shrink
用于处理flex
容器溢出空间。spa
溢出空间 = (项目1flex-basis
+ 项目2flex-basis
+ ... + 项目nflex-basis
) - flex容器宽度code
加权值 = (项目1flex-basis
项目1flex-shrink
) + (项目2flex-basis
项目2flex-shrink
) + (...) + (项目nflex-basis
* 项目nflex-shrink
)htm
项目1压缩宽度 = (项目1flex-basis
项目1flex-shrink
/ 加权值) 溢出空间blog
300px
)<div class="row"> <div class="col"></div> <div class="col"></div> </div>
.row { display: flex; width: 300px; height: 100px; } .row > .col:nth-child(1) { background: red; flex-basis: 200px; flex-shrink: 0; } .row > .col:nth-child(2) { background-color: green; flex-basis: 400px; flex-shrink: 0; }
<div class="row"> <div class="col"></div> <div class="col"></div> </div>
.row { display: flex; width: 300px; height: 100px; } .row > .col:nth-child(1) { background: red; flex-basis: 200px; flex-shrink: 1; } .row > .col:nth-child(2) { background-color: green; flex-basis: 400px; flex-shrink: 2; }
项目1:ip
项目2: