Summary
The flex-grow CSS property specifies the flex grow factor of a flex item. It specifies what amount of space inside the flex container the item should take up.
| Initial value | 0 |
|---|---|
| Applies to | flex items, including in-flow pseudo-elements |
| Inherited | no |
| Media | visual |
| Computed value | as specified |
| Animatable | yes, as a number |
| Canonical order | the unique non-ambiguous order defined by the formal grammar |
See Using CSS flexible boxes for more properties and information.
Syntax
flex-grow: 3; flex-grow: 0.6; /* Global values */ flex-grow: inherit; flex-grow: initial; flex-grow: unset;
Values
<number>- See
<number>. Negative values are invalid.
Formal syntax
<number>
Example
HTML
<h4>This is a Flex-Grow</h4> <h5>A,B,C and F are flex-grow:1 . D and E are flex-grow:2 .</h5> <div id="content"> <div class="box" style="background-color:red;">A</div> <div class="box" style="background-color:lightblue;">B</div> <div class="box" style="background-color:yellow;">C</div> <div class="box1" style="background-color:brown;">D</div> <div class="box1" style="background-color:lightgreen;">E</div> <div class="box" style="background-color:brown;">F</div> </div>
CSS
#content {
-ms-box-orient: horizontal;
display: -webkit-box;
display: -moz-box;
display: -ms-flexbox;
display: -moz-flex;
display: -webkit-flex;
display: flex;
-webkit-justify-content: space-around;
justify-content: space-around;
-webkit-flex-flow: row wrap;
flex-flow: row wrap;
-webkit-align-items: stretch;
align-items: stretch;
}
.box {
flex-grow: 1;
border: 3px solid rgba(0,0,0,.2);
}
.box1 {
flex-grow: 2;
border: 3px solid rgba(0,0,0,.2);
}
Result
Specifications
| Specification | Status | Comment |
|---|---|---|
| CSS Flexible Box Layout Module The definition of 'flex-grow' in that specification. |
Last Call Working Draft | Initial definition |
Browser compatibility
| Feature | Firefox (Gecko) | Chrome | Internet Explorer | Opera | Safari |
|---|---|---|---|---|---|
| Basic support |
18.0 (18.0) [1] |
21.0-webkit |
11 | 12.10 | 6.1-webkit |
| < 0 animate | 32.0 (32.0) [2] | 49 | ? | No support | No support |
| Feature | Firefox Mobile (Gecko) | Android | IE Phone | Opera Mobile | Safari Mobile |
|---|---|---|---|---|---|
| Basic support | 18.0 (18.0) [1] | ? | No support | 12.10 | No support |
| < 0 animate | 32.0 (32.0) [2] | ? | ? | No support | No support |
[1] Firefox supports only single-line flexbox until Firefox 28. To activate flexbox support, for Firefox 18 and 19, the user has to change the about:config preference "layout.css.flexbox.enabled" to true.
[2] Before Firefox 32, Gecko wasn't able to animate values starting or stopping at 0(Spec, Demo).
See also
Document Tags and Contributors
Tags:
Contributors to this page:
duncanmcdonald,
adius,
jigs12,
yisibl,
Sebastianz,
fscholz,
meznaric,
jsx,
Jeremie,
braveknave,
teoli,
SJW,
kscarfone,
Sheppy,
FredB,
ethertank,
scottrowe
Last updated by:
duncanmcdonald,