Search code examples
htmlcssvertical-alignment

center text in an absolute positioned div


I have the following

 <div class="label" 
    style="position: absolute; top: 20px; left: 20px; width: 200px; height: 40px;">
    Label Text
 </div>

 <div class="label" 
    style="position: absolute; top: 70px; left: 20px; width: 200px; height: 120px;">
    Also several lines of 
    Label Text
    may be included
 </div>

How can I vertically align the (possibly several lines of) text inside a div.label?

I can add innerHTML if necessary but I can't change the container (class="label").

http://jsfiddle.net/austinfrance/CDTk2/ (now working example)


Solution

  • You can use something along the lines of

     <div class="label" 
    style="position: absolute; top: 70px; left: 20px; width: 200px; height: 120px; display: table; vertical-align: middle; border:1px solid #000">
        <span style="display: table-cell;vertical-align: middle;">
    Also several lines of
    Label Text
    may be included
        </span>
    

    please see http://jsfiddle.net/99F6D/1/