Flexbox
Flexbox (Flexible Box Model) opens up a lot of layout and alignment options. Many layout and information organization techniques that required a lot of code in the past are now trivial to do.
.flex
The element is turned into an flexbox container. On its own, it behaves like a block element. Its child elements will be turned into flexbox items.
.inline-flex
The element is turned into an flexbox container. On its own, it behaves like a block element. Its child elements will be turned into flexbox items.
.flex-row
If you've set an element to be flex or inline-flex, then flex direction defaults to flex-row.
.flex-column
flex-column displays the children of the flexbox container in a column along the cross axis.
.no-wrap
no-wrap is the default, if you set a container to .flex, and don't set a wrap property, you'll get evenly sized elements that fit within the flex container.
Row
Column
.flex-wrap
Set to .flex-wrap, your items will wrap to the next line if need be.
Row
Column
Align content only applies if .flex-wrap is present, and if there are multiple lines of flexbox items.
.content-stretch
Default. Each line will stretch to fill the remaining space. You don't need to add this class to the element
Row
Column
.content-start
Each line will only fill the space it needs. They will all move towards the START of the flexbox container's cross axis.
Row
Column
.content-end
Each line will only fill the space it needs. They will all move towards the END of the flexbox container's cross axis.
Row
Column
.content-center
Each line will only fill the space it needs. They will all move towards the CENTER of the flexbox container's cross axis.
Row
Column
.content-between
Each line will only fill the space it needs. The remaining space will appear between the lines.
Row
Column
.content-around
Each line will only fill the space it needs. The remaining space will appear around the lines.
Row
Column