I want to create image box(with image).
It's ugly when text is in the top of box.
How can I align text to middle?
I tried to use vertical-align
, but it seems, that it don't works
Demo of my code
EDIT:
Your solution works fine with short messages.
But if they will be multi-lined, it is ugly again.
Is it possible to not increase size of line If we don't need it?
Use line-height for vertical centering with a fixed height To vertically center a single line of text or an icon within its container, we can use the line-height property. This property controls the height of a line in a run of text and adds an equal amount of space above and below the line-box of inline elements.
For vertical alignment, set the parent element's width / height to 100% and add display: table . Then for the child element, change the display to table-cell and add vertical-align: middle . For horizontal centering, you could either add text-align: center to center the text and any other inline children elements.
For example, if you're trying to align something horizontally OR vertically, it's not that difficult. You can just set text-align to center for an inline element, and margin: 0 auto would do it for a block-level element.
If you want to middle align a block with multiple lines, you can use display:inline-block
around that block. So if you have:
<div class="messageInfo">
<div class="messageInner">You are logged out<br>You are crazy<br> gogo</div>
</div>
with
.messageInfo{
background: lightskyblue;
background-image: url(http://i.stack.imgur.com/Z6lkS.png) ;
background-repeat: no-repeat;
min-height: 32px;
vertical-align: middle;
padding-left:32px;
line-height:32px;
}
add
.messageInner {
display:inline-block;
line-height:1.2em;
vertical-align:middle;
}
See http://jsfiddle.net/yNpRE/1/ and http://jsfiddle.net/yNpRE/
Be warned though, that while this works in modern browsers, it doesn't work with IE7 or earlier.
What usually works fine is line-height
:
line-height: 32px;
http://jsfiddle.net/DhHnZ/2/
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With