SummaryEdit
The flex-shrink
CSS property specifies the flex shrink factor of a flex item.
Initial value | 1 |
---|---|
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.
SyntaxEdit
flex-shrink: 2;
flex-shrink: 0.6;
/* Global values */
flex-shrink: inherit;
flex-shrink: initial;
flex-shrink: unset;
Values
<number
>- See
<number>
. Negative values are invalid.
Formal syntax
How to read CSS syntax.<number>
ExampleEdit
HTML
<h4>This is a Flex-Grow</h4>
<h5>A,B,C and F are flex-shrink:1 . D and E are flex-grow:1 .</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-shrink: 1;
border: 3px solid rgba(0,0,0,.2);
}
.box1 {
flex-grow: 1;
border: 3px solid rgba(0,0,0,.2);
}
Result
SpecificationsEdit
Specification | Status | Comment |
---|---|---|
CSS Flexible Box Layout Module The definition of 'flex-shrink' in that specification. |
Candidate Recommendation | Initial definition |
Browser compatibilityEdit
[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)
.
[3] Internet Explorer 10 uses 0
instead of 1
as the initial value for the flex-shrink
property. A workaround is to always set an explicit value for flex-shrink
. See Flexbug #6 for more info.
See alsoEdit
Document Tags and Contributors
Tags:
Contributors to this page:
vertigoback,
duncanmcdonald,
jigs12,
yisibl,
Sebastianz,
fscholz,
jsx,
Sheppy,
RockoDev,
braveknave,
cvrebert,
teoli,
SJW,
kscarfone,
soswow,
FredB,
ethertank,
scottrowe
Last updated by:
vertigoback,