Bootstrap - Center a div horizontally and vertically
In this tutorial, we are going to learn about how to center a div horizontally and vertically in Bootstrap with the help of examples.
Consider, that we have the following div element in Bootstrap:
<div>
<h1>Hello, User</h1>
</div>
To center a div horizontaly and vertically in Bootstrap, add the utlity class d-flex
and justify-content-center
, align-items-center
to the div element class
attribute.
“justify-content-center” centers the div horizontally.
“align-items-center” centers the div vertically.
Here is an example:
<div class="d-flex justify-content-center align-items-center" style="100vh">
<h1>Hello, User</h1>
</div>
Note: The above utility classes use the flexbox which can work on Bootstrap 4, and 5 versions.
If you are using the bootstrap version which is below 4, then you can add the flexbox using the custom CSS class.
<div class="center">
<h1>Hello, User</h1>
</div>
.center{
display: flex;
justify-content: center;
align-items: center;
height: 100vh;
}
Centering div horizontally, vertically using absolute position
We can use the css absolute positioning in bootstrap to center a div horizontally and vertically
Here is an example:
<div class="center">
<h1>Hello, User</h1>
</div>
.center{
position:absolute;
left:50%;
top:50%;
transform:translate(-50%, -50%);
}
-
Here we added
position:absolute
to the div element, so the element breaks out from the normal document flow and is positioned to its relative parent (eg: body or parent element). -
The
left:50%
moves the element 50% right from its position. -
The
top:50%
moves the element 50% down from its position. -
The
translate(-50%, -50%)
moves the element 50% up, 50% left of it’s position.