`flex-grow`属性定义项目的放大比例,默认为`0`,即如果存在剩余空间,也不放大。
~~~css
.item {
flex-grow: <number>; /* default 0 */
}
~~~
![](http://cndpic.dodoke.com/30c42bbf4f47069d9f93d9d4986d2b4e)
~~~html
<div class="box">
<div class="box-item grow">1<div>(flex-grow: 1)</div></div>
<div class="box-item grow-2">2<div>(flex-grow: 2)</div></div>
<div class="box-item grow">3<div>(flex-grow: 1)</div></div>
</div>
~~~
~~~css
.box {
display: flex;
background-color: white;
}
.box-item {
width: 200px;
height: 200px;
line-height: 200px;
vertical-align: middle;
margin: 5px;
background-color: #ffd200;
font-size: 100px;
color: white;
text-align: center;
}
.box-item div {
font-size: 14px;
position: relative;
top: -150px;
}
~~~
如果所有项目的`flex-grow`属性都为1,则它们将等分剩余空间(如果有的话)。如果一个项目的`flex-grow`属性为2,其他项目都为1,则前者占据的剩余空间将比其他项多一倍。
~~~css
.grow {
flex-grow: 1;
}
.grow-2 {
flex-grow: 2;
}
~~~
![](http://cndpic.dodoke.com/b9b43b15676abe468b5adbc28c889e1c)
如果有的项目有 flex-grow 属性,有的项目有 width 属性,有 flex-grow 属性的项目将等分剩余空间。
~~~html
<div class="box">
<div class="box-item grow">1<div>(flex-grow: 1)</div></div>
<div class="box-item">2<div>(width: 200px)</div></div>
<div class="box-item grow">3<div>(flex-grow: 1)</div></div>
</div>
~~~
![](http://cndpic.dodoke.com/84b106f0f1058dc5d2d7ba8289e3ded6)
- 第一章:移动开发入门
- 第一节:概述
- 第二节:基础概念
- 第一课时:像素
- 第二课时:视口
- 第二章:Flex 布局
- 第一节:概述
- 第二节:容器属性
- 第一课时:flex-direction 属性
- 第二课时:flex-wrap 属性
- 第三课时:flex-flow 属性
- 第四课时:justify-content 属性
- 第五课时:align-items 属性
- 第六课时:align-content 属性
- 第三节:项目属性
- 第一课时:order 属性
- 第二课时:flex-grow 属性
- 第三课时:flex-shrink 属性
- 第四课时:flex-basis 属性
- 第五课时:flex 属性
- 第六课时:align-self 属性
- 第四节:Flex 实例
- 第一课时:常见页面布局
- 第三章:响应式布局
- 第一节:概述
- 第二节:媒体查询
- 第一课时:概述
- 第二课时:响应式设计
- 第三节:栅格系统
- 第一课时:概述
- 第二课时:案例分析
- 第三课时:Bootstrap 简介
- 第四节:响应式案例
- 第一课时:三星首页
- 第四章:移动端适配
- 第五章:移动端事件
- 第一节:概述
- 第二节:touch 事件
- 第三节:触摸事件对象
- 第四节:其他事件
- 第五节:移动端幻灯片
- 第六章:移动端常见问题
- 第一节:浏览器兼容性
- 第二节:移动端动画
- 第三节:300ms 延迟
- 第四节:文字溢出省略
- 第五节:水平居中和垂直居中
- 第七章:项目案例
- 第一节:美团外卖
- 第一课时:首页
- 第二课时:订单页面
- 第三课时:我的页面
- 第四课时:详情页面
- 第五课时:购物车页