CSS Flexbox layout
Creation
Set the property:
display: flex;
The element is turned into a flexbox.
Item dimensions
flex-grow: <n>;
Set the element growing factor after the available positive free space
is distributed. Width set for the items is honored. It is relative to
the other flex elements (defaults to 0
).
flex-shrink: <n>;
Set the element shrinking factor after the negative free space is
distributed. It has the same characteristics as flex-grow
.
flex-basis: <n>;
Set the initial size of the flex element. Applies before free space is distributed.
Nested containers
Since flexbox
is mono-directional, nest containers if elements need
to be laid out horizontally and vertically.
flex-direction: <row | column>;
Set the direction along which the elements are laid out. Defaults to
row
.
Alignment
justify-content: flex-start | flex-end | center | space-between | space-around;
Aligns items along the main flexbox axis (set flex-grow
to 0
).
align-content: flex-start | flex-end | center | space-between | space-around;
Aligns items along the perpendicular flexbox axis (set flex-grow
to 0
).
align-items: <flex-start | flex-end | center | baseline | stretch>;
Align items along the cross axis (that is, the axis opposite to the main axis). Defaults to stretch
.
align-self: <flex-start | flex-end | center | baseline | stretch>;
Per item alignment.
order: <n>;
Sets the order by which items are displayed. Defaults to 0
.
Direction
flex-direction: <row | row-reverse | column | column-reverse>;
Sets the direction of the flex items. Defaults to row
.
Wrapping
flex-wrap: <nowrap | wrap | wrap-reverse>;
Sets the way wrapping is handled. Defaults to nowrap
: items just
shrink.