CSS Grid Container - Align Grid Content
CSS Grid Container - Align Grid Content
Inside the grid container you can define the alignment of the grid content with the following properties:
justify-content
- Aligns the grid content when it does not use all available space on the main-axis (horizontally)align-content
- Aligns the grid content when it does not use all available space on the cross-axis (vertically)place-content
- Shorthand property foralign-content
andjustify-content
The CSS justify-content Property
The justify-content
property is used to
align the grid content when it does not use all available space on the main-axis (horizontally).
This property can have one of the following values:
space-evenly
space-around
space-between
center
start
end
Note: The grid content's total width has to be less than the container's width for the
justify-content
property to have any effect.
Example
The space-evenly
value displays the grid items with equal space around them:
.container {
display: grid;
justify-content: space-evenly;
}
Result:
Example
The space-around
value displays the grid items with space
around them:
.container {
display: grid;
justify-content: space-around;
}
Result:
Example
The space-between
value displays the grid items with space between them:
.container {
display: grid;
justify-content: space-between;
}
Result:
Example
The center
value positions the grid items in the center of the container:
.container {
display: grid;
justify-content: center;
}
Result:
Example
The start
value positions the grid items at the
start of the container:
.container {
display: grid;
justify-content: start;
}
Result:
Example
The end
value positions the grid items at the end of the container:
.container {
display: grid;
justify-content: end;
}
Result:
The CSS align-content Property
The align-content
property is used to
align the grid content when it does not use all available space on the cross-axis (vertically).
This property can have one of the following values:
space-evenly
space-around
space-between
center
start
end
Note: The grid content's total height has to be less than the container's height for the
align-content
property to have any effect.
In the following examples we use a 300 pixels high container, to better demonstrate the align-content
property.
Example
The center
value positions the grid items in the middle of the container:
.container {
display: grid;
height: 300px;
align-content: center;
}
Result:
Example
With space-evenly
, the grid lines are evenly distributed in the
grid container, with equal space
on top, bottom and between:
.container {
display: grid;
height: 300px;
align-content: space-evenly;
}
Result:
Example
With space-around
, the space between the
grid lines are
equal, but the space before the first grid item and after the last grid item is set to
half of the space between the grid lines:
.container {
display: grid;
height: 300px;
align-content: space-around;
}
Result:
Example
With space-between
, the space between the
grid lines are
equal, but the first grid item is flush with the start edge of the container, and the
last grid item is flush with the end edge of the container:
.container {
display: grid;
height: 300px;
align-content: space-between;
}
Result:
Example
The start
value positions the grid items
at the start of the container:
.container {
display: grid;
height: 300px;
align-content: start;
}
Result:
Example
The end
value positions the grid items at
the end of the container:
.container {
display: grid;
height: 300px;
align-content: end;
}
Result:
The CSS place-content Property
The place-content
property is a shorthand
property for the
align-content
and the
justify-content
properties.
If place-content
has two values:
-
place-content: start center;
- thealign-content
value is 'start' andjustify-content
value is 'center'
If place-content
has one value:
-
place-content: end;
- bothalign-content
andjustify-content
values are 'end'
Note: The grid item's total height and width has to be less than the container's height
and width for the
place-content
property to have any effect.
Example
The center
value positions the grid items in the middle of the container
(both vertically and horizontally):
.container {
display: grid;
height: 300px;
place-content: center;
}
Result:
Example
The end space-between
value aligns the grid lines towards the bottom of the grid container,
and aligns the grid items with the same space between them horizontally:
.container {
display: grid;
height: 300px;
place-content: end space-between;
}
Result: