Home » Code Snippets » css vertical align with flexbox
How to vertically align text inside a flexbox?
Use flexbox to vertically align some content inside a div. This depends on the way we’re using the flex-direction. Most of the time it’s a combination of two properties but only one property can make your content aligned in the center vertically.
Add HTML Code
Add a div to contain sample text.
<!DOCTYPE html>
<html lang="en">
<body>
<div>Lorem ipsum dolor sit, amet consectetur adipisicing elit. Mollitia, ad? Perspiciatis recusandae excepturi eveniet ducimus culpa quas blanditiis labore in est itaque provident, voluptates deleniti autem dignissimos, id quis fugit.</div>
</body>
</html>
Add CSS
We're setting height of HTML,BODY to 100% so we can have text centered vertically.
html,body{height:100%; margin:0;padding:0;}
div {
display: flex;
align-items:center;
width: 100%;
height: 100%;
font-size:4vw;
}
Please note in this example, We are using the Simple flex property.
The child element of the flex-box will be aligned in a row by default.
However, There can be another case with flex-directon:column
Which will align items vertically. In this case, we have to use justify-content to align it vertically centered.
html,body{height:100%; margin:0;padding:0;}
div {
display: flex;
flex-direction:column;
justify-content:center;
width: 100%;
height: 100%;
font-size:4vw;
}