我怎样才能与高度对齐

Ria*_*iaD 20 html css background-image vertical-alignment

我想创建图像框(带图像).
当文本位于框顶部时,它很难看.

如何将文本与中间对齐?
我试图使用vertical-align,但似乎它不起作用

演示我的代码

编辑:
您的解决方案适用于短消息.
但是,如果它们是多线的,它又是丑陋的.
是否有可能不增加线的尺寸如果我们不需要它?

在此输入图像描述

Alo*_*hci 8

如果要中间对齐多行的块,可以display:inline-block在该块周围使用.所以如果你有:

<div class="messageInfo">
   <div class="messageInner">You are logged out<br>You are crazy<br> gogo</div>
</div>
Run Code Online (Sandbox Code Playgroud)

.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;
}
Run Code Online (Sandbox Code Playgroud)

.messageInner {
    display:inline-block;
    line-height:1.2em;
    vertical-align:middle;
}
Run Code Online (Sandbox Code Playgroud)

http://jsfiddle.net/yNpRE/1/http://jsfiddle.net/yNpRE/

但请注意,虽然这适用于现代浏览器,但它不适用于IE7或更早版本.


Nik*_*iko 6

通常可以正常工作的是line-height

line-height: 32px;
Run Code Online (Sandbox Code Playgroud)

http://jsfiddle.net/DhHnZ/2/