问题
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)
回答1:
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/
回答2:
Try this:
<div class="label"
style="position: absolute; top: 20px; left: 20px; width: 200px; height: 40px;">
<span style="display:inline-block; vertical-align:middle"> Label Text </span>
</div>
回答3:
it's old question but the solution is super easy, because you now about height of div just put line-height with same value of height on css style.
whit your example it must be line-height:40px
.
good like
来源:https://stackoverflow.com/questions/11690828/center-text-in-an-absolute-positioned-div