Summary
The CSS flex-wrap property specifies whether flex items are forced into a single line or can be wrapped onto multiple lines. If wrapping is allowed, this property also enables you to control the direction in which lines are stacked.
| Initial value | nowrap |
|---|---|
| Applies to | flex containers |
| Inherited | no |
| Media | visual |
| Computed value | as specified |
| Animatable | no |
| Canonical order | the unique non-ambiguous order defined by the formal grammar |
See Using CSS flexible boxes for more properties and information.
Syntax
flex-wrap: nowrap; flex-wrap: wrap; flex-wrap: wrap-reverse; /* Global values */ flex-wrap: inherit; flex-wrap: initial; flex-wrap: unset;
Values
The following values are accepted:
nowrap- The flex items are laid out in a single line which may cause the flex container to overflow. The cross-start is either equivalent to start or before depending
flex-directionvalue. wrap- The flex items break into multiple lines. The cross-start is either equivalent to start or before depending
flex-directionvalue and the cross-end is the opposite of the specified cross-start. wrap-reverse- Behaves the same as
wrapbut cross-start and cross-end are permuted. -
Formal syntax
nowrap | wrap | wrap-reverse
Examples
HTML
<h4>This is an example for flex-wrap:wrap </h4> <div class="content"> <div class="red">1</div> <div class="green">2</div> <div class="blue">3</div> </div> <h4>This is an example for flex-wrap:nowrap </h4> <div class="content1"> <div class="red">1</div> <div class="green">2</div> <div class="blue">3</div> </div> <h4>This is an example for flex-wrap:wrap-reverse </h4> <div class="content2"> <div class="red">1</div> <div class="green">2</div> <div class="blue">3</div> </div>
CSS
/* Common Styles */
.content,
.content1,
.content2 {
color: #fff;
font: 100 24px/100px sans-serif;
height: 150px;
text-align: center;
}
.content div,
.content1 div,
.content2 div {
height: 50%;
width: 50%;
}
.red {
background: orangered;
}
.green {
background: yellowgreen;
}
.blue {
background: steelblue;
}
/* Flexbox Styles */
.content {
display: -webkit-box;
display: -moz-box;
display: -ms-flexbox;
display: -moz-flex;
display: -webkit-flex;
display: flex;
flex-wrap: wrap;
}
.content1 {
display: -webkit-box;
display: -moz-box;
display: -ms-flexbox;
display: -moz-flex;
display: -webkit-flex;
display: flex;
flex-wrap: nowrap;
}
.content2 {
display: -webkit-box;
display: -moz-box;
display: -ms-flexbox;
display: -moz-flex;
display: -webkit-flex;
display: flex;
flex-wrap: wrap-reverse;
}
Results
Specifications
| Specification | Status | Comment |
|---|---|---|
| CSS Flexible Box Layout Module The definition of 'flex-wrap' in that specification. |
Candidate Recommendation |
Browser compatibility
| Feature | Firefox (Gecko) | Chrome | Internet Explorer | Opera | Safari |
|---|---|---|---|---|---|
| Basic support | 28.0 | 21.0-webkit | 11.0 | 12.10 | 6.1-webkit |
| Feature | Firefox Mobile (Gecko) | Android | IE Phone | Opera Mobile | Safari Mobile |
|---|---|---|---|---|---|
| Basic support | 28.0 | 4.4 | 11.0 | 12.10 | 7.0-webkit |
See also
Document Tags and Contributors
Tags:
Contributors to this page:
so_matt_basta,
duncanmcdonald,
jigs12,
Sheppy,
Sebastianz,
fscholz,
tregusti,
wbamberg,
teoli,
ziyunfei,
yisi,
SJW,
kscarfone,
ethertank,
FredB,
scottrowe
Last updated by:
so_matt_basta,