AlexBeje
Posted on June 7, 2020
I. DEFINITION
The first step in the implementation of the flex layout is to define the display type to flex inside the parent element.
.container {
display: flex;
}
II. PARENT PROPERTIES
Here is a list of parent properties that can be use with the flexbox layout.
1. [JUSTIFY-CONTENT]
Align flex items along the X axis.
flex-start: Items align to the left side of the container.
flex-end: Items align to the right side of the container.
center: Items align at the center of the container.
space-between: Items display with equal spacing between them.
space-around: Items display with equal spacing around them.
.container {
display: flex;
justify-content: flex-start | flex-end | center | space-between | space-around;
}
2. [ALIGN-ITEMS]
Align flex items along the Y axis.
flex-start: Items align to the top of the container.
flex-end: Items align to the bottom of the container.
center: Items align at the vertical center of the container.
baseline: Items display at the baseline of the container.
stretch: Items are stretched to fit the container.
.container {
display: flex;
align-items: flex-start | flex-end | center | baseline | stretch;
}
3. [FLEX-DIRECTION]
Define the direction of the main axis.
row: Items are placed the same as the text direction.
row-reverse: Items are placed opposite to the text direction.
column: Items are placed top to bottom.
column-reverse: Items are placed bottom to top.
.container {
display: flex;
flex-direction: row | row-reverse | column | column-reverse;
}
4. [FLEX-WRAP]
Specify whether flex items are forced on a single line or can be wrapped on multiple lines.
nowrap: Every item is fit to a single line.
wrap: Items wrap around to additional lines.
wrap-reverse: Items wrap around to additional lines in reverse.
.container {
display: flex;
flex-wrap: no-wrap | wrap | wrap-reverse;
}
5. [FLEX-FLOW]
Shorthand property for flex-direction and flex-wrap.
.container {
display: flex;
flex-flow: [row | row-reverse | column | column-reverse] [no-wrap | wrap | wrap-reverse]
}
EXTRA PARENT PROPERTY
A little bonus property that the parent can hold.
6. [ALIGN-CONTENT]
Determines the spacing between lines, while align-items determines how the items as a whole are aligned within the container. When there is only one line, align-content has no effect.
flex-start: Lines are packed at the top of the container.
flex-end: Lines are packed at the bottom of the container.
center: Lines are packed at the vertical center of the container.
space-between: Lines display with equal spacing between them.
space-around: Lines display with equal spacing around them.
stretch: Lines are stretched to fit the container.
.container {
display: flex;
align-content: flex-start | flex-end | center | space-between | space-around | stretch;
}
III. CHILDREN PROPERTIES
1. [ALIGN-SELF]
Align the specified item along the X axis.
flex-start: Items align to the top of the container.
flex-end: Items align to the bottom of the container.
center: Items align at the vertical center of the container.
baseline: Items display at the baseline of the container.
stretch: Items are stretched to fit the container.
.container {
display: flex;
}
.item {
align-self: flex-start | flex-end | center | baseline | stretch;
}
2. [ORDER]
Specify the order of the specified flex item.
... Default position -n number.
-1: Default position -1.
0: Default position.
+1: Default position +1.
... Default position +n number.
.container {
display: flex;
}
.item {
order: ..., -1, 0, 1, ...;
}
3. [FLEX-GROW]
Expand items without determining the width if the child.
1:: Default value.
2:: Width grows 2x times.
...: Width grows nx times.
.container {
display: flex;
}
.item {
flex-grow: 2;
}
4. [FLEX-SHRINK]
Allow an item to shrink if the flex container is too small.
1: Default value.
2:: Item shrinks 2x times.
...: Item shrinks nx times.
.container {
display: flex;
}
.item {
flex-shrink: 2;
}
5. [FLEX-BASIS]
Set the initial size of the flex item before shrinking or growing it.
10px: Initial size of the flex item.
.container {
display: flex;
}
.item {
flex-basis: 10px;
}
EXTRA CHILDREN PROPERTY
There is a simplified property for the last three properties mentioned before, hope you enjoy the extra tip.
6. [FLEX]
Flex shorthand that controls the flex-grown, flex-shrink and flex-basis in one line. Used to control the fill rate of the extra space.
1: Item grows 1x times.
0: Item shrinks 0x times.
10px: Initial size of the flex item.
.container {
display: flex;
}
.item {
flex: 1 0 10px;
}
Resources
Flexbox Froggy - Learn while playing!
freeCodeCamp - Initiation to web development.
Posted on June 7, 2020
Join Our Newsletter. No Spam, Only the good stuff.
Sign up to receive the latest update from our blog.