How to align text vertically center in a DIV element using CSS

Topic: HTML / CSSPrev|Next

Answer: Use the CSS line-height property

If you will try to vertically center align text inside a div using the CSS rule vertical-align: middle; you won't succeed. Suppose you have a div element with the height of 50px and you have placed some link inside the div that you want to align vertically center. The simplest way to do it is — just apply the line-height property with value equal to the height of div which is 50px.

The concept behind this trick is, if the value of the line-height property is greater than the value of the font-size for an element, the difference (called "leading") is cut in half and distributed evenly on the top and bottom of the in-line box that align the inline elements vertically center to the element.

Let's try out the following example to understand how it actually works:

<!DOCTYPE html>
<html lang="en">
<meta charset="utf-8">
<title>Vertically Center Text Using CSS</title>
        height: 20px;
        line-height: 20px;
        padding: 15px;        
        border: 1px solid #666;
    <div class="menu">
        <a href="#">Home</a> | <a href="#">About Us</a> | <a href="#">Contact</a>

Related FAQ

Here are some more FAQ related to this topic:

Bootstrap UI Design Templates Property Marvels - A Leading Real Estate Portal for Premium Properties