bugl
bugl
HomeLearnPatternsSearch
HomeLearnPatternsSearch

Loading lesson path

Learn/CSS/CSS Foundations
CSS•CSS Foundations

CSS Vertical Align

Vertical Centering

Vertical centering in CSS can be achieved using modern layout techniques like Flexbox and Grid, or using positioning with transforms.

Center Align with Flexbox

With

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;
}

Center Align with Grid

With

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;
}

Center Align with position and transform

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%);
}

Tip:

You will learn more about the transform property in our 2D Transforms Chapter.

Previous

CSS Horizontal Align

Next

CSS Combinators