Loading lesson path
Vertical centering in CSS can be achieved using modern layout techniques like Flexbox and Grid, or using positioning with transforms.
CSS flexbox you can center elements, both horizontally and vertically, within a flex container. A flex container with both the justify-content and the align-items properties set to center will align the item(s) in the center (in both axis): I am vertically and horizontally centered.
Example.center {
display: flex;
justify-content: center;
align-items: center;
height: 200px;
border: 3px solid green;
}CSS grid you can center elements, both horizontally and vertically, within a grid container.
Formula
A grid container with the place - items property set to center, will align the item(s) in the center (in both axis).I am vertically and horizontally centered.
Example.center {
display: grid;
place-items: center;
height: 200px;
border: 3px solid green;
}If you deal with elements of unknown or dynamic dimensions, it is a common technique to use position:
absolute;
combined with transform: translate();to center an element: I am vertically and horizontally centered.
Example.container p {
margin: 0;
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
}You will learn more about the transform property in our 2D Transforms Chapter.