Flexbox Cheat Sheet
Container
display: flexordisplay: inline-flex: creates a flex context (or an inline flex context) for direct children of this elementflex-directiondetermines the main and cross axis for the container, valid values are:row(default): horizontal, in the direction of writing (left to right for English)row-reverse: horizontal, in the opposite direction of writing (right to left for English)column: vertical, top to bottomcolumn-reverse: vertical, bottom to top
flex-wrapdetermines if flex items will try to fit in one line, valid values are:nowrap(default): all flex items will be on one linewrap: flex items will wrap onto multiple lines, top to bottomwrap-reverse: flex items will wrap onto multiple lines, bottom to top
flex-flow: shorthand combiningflex-directionandflex-wrapFormal syntax:
flex-flow: <'flex-direction'> || <'flex-wrap'>
justify-contentdefines the alignment along the main axis, valid values are:flex-start(default): pack flex items from the startflex-end: pack flex items from the endstart: pack items from the startend: pack items from the endleft: pack items from the leftright: pack items from the rightcenter: pack items around the centerspace-around: distribute items evenly with equal space around themspace-between: distribute items evenly with equal space between themspace-evenly: distribute items evenly, ensuring equal space between any two itemsstretch: distribute items evenly, stretching auto-sized items to fit the container
align-itemsdefines the alignment along the cross axis, valid values are:flex-start(default): pack flex items from the startflex-end: pack flex items from the endstart: pack items from the startend: pack items from the endcenter: pack items around the centerbaseline: align items based on their baselinesstretch: stretch items to fill the container
align-contentdefines the alignment of extra space along the cross axis, valid values are:flex-start(default): pack flex items from the startflex-end: pack flex items from the endstart: pack items from the startend: pack items from the endcenter: pack items around the centerspace-around: distribute items evenly with equal space around themspace-between: distribute items evenly with equal space between themspace-evenly: distribute items evenly, ensuring equal space between any two itemsstretch: distribute items evenly, stretching auto-sized items to fit the container
Items
flex-growdetermines how much the item can grow if necessaryAccepts a single positive number (unitless), default value is
0Specifies how much of the remaining space in the flex container should be assigned to the item
The remaining space is the size of the flex container minus the size of all flex items' sizes together
If all items have the same
flex-grow, all items will receive an equal share of the remaining spaceIf not all items have the same
flex-grow, the remaining space is distributed according to the ratio defined by these values
flex-shrinkdetermines how much the items can shrink if necessaryAccepts a single positive number (unitless), default value is
1If the size of all flex items is larger than the flex container, items shrink to fit according to
flex-shrink
flex-basisdetermines the initial size of a flex item before the remaining space is distributedCan use any valid
widthvalue, intrinsic size values,auto(default) orcontentautomeans "look at mywidthorheightproperty", whereascontentis used for automatic sizing
flex: shorthand combiningflex-grow,flex-shrinkandflex-basisFormal syntax:
flex: none | [ <'flex-grow'> <'flex-shrink'>? || <'flex-basis'> ]
align-selfallows the item to override the defaultalign-itemsspecified by the containerValid values are the same as those of the
align-itemsproperty in the container
orderdetermines the ordering of the itemAccepts an integer value
Items in a container are sorted by ascending
ordervalue and then by their source code orderMight cause accessibility issues if used incorrectly
Last updated
Was this helpful?