html - 我怎样才能按高度对齐到中间

标签 html css background-image vertical-alignment

<分区>

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

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

Demo of my code

编辑:
您的解决方案适用于短消息。
但是如果它们会是多行的,那就又丑了。
如果我们不需要,是否可以不增加线的大小?

enter image description here

最佳答案

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

<div class="messageInfo">
   <div class="messageInner">You are logged out<br>You are crazy<br> gogo</div>
</div>

.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;
}

添加

.messageInner {
    display:inline-block;
    line-height:1.2em;
    vertical-align:middle;
}

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

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

关于html - 我怎样才能按高度对齐到中间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7542387/

相关文章:

html - 空 div 标签的背景图像超链接

javascript - 如果数据相同,html 表跨度

css - 是否可以在不 float 的情况下并排显示 div?

html - 使用 CSS 和 HTML 在文本之间添加 div 容器

文本问题上的 HTML 链接

HTML 电子邮件 BG 颜色问题

javascript - jQuery .css 属性不适用于滚动功能

html - 如何在 Chrome 中设置背景图片?

ios - 在 ios 14 中,文本字段边框样式无法正常工作

javascript - 无法从不同的单选按钮组获取值