我想在浮动图像后垂直对齐跨度。 我在堆栈溢出中搜索它并找到this post。但是我的形象浮现了。
<div>
<img style="width:30px;height:30px; float:left">
<span style="vertical-align:middle">Doesn't work.</span>
</div>
我给vertical-align:middle
图像,没有任何改变!
由于
答案 0 :(得分:10)
首先从中移除float
。写得像这样:
<img style="width:30px;height:30px;vertical-align:middle" src="http://lorempixel.com/output/abstract-q-c-640-480-8.jpg">
<span>Doesn't work.</span>
答案 1 :(得分:9)
即使这是一篇非常古老的帖子,您也可以使用Flexbox
:
div {
display: flex;
align-items: center;
}
&#13;
<div>
<img style="width:30px;height:30px;" src="http://lorempixel.com/output/abstract-q-c-640-480-8.jpg" />
<span>Doesn't work.</span>
</div>
&#13;
答案 2 :(得分:6)
添加line-height
(等于图片高度):
<div>
<img style="width:30px;height:30px; float:left">
<span style="vertical-align:middle; line-height: 30px;">Works!</span>
</div>
答案 3 :(得分:1)
<span>
是内联元素,尝试将display:block
添加到范围,为其提供与图像相同的高度和要匹配的线高。把它漂浮下来。这应该工作
答案 4 :(得分:1)
您也可以手动更改
<div>
<img style="width:30px;height:30px float:left">
<span style="float:left;padding-top:15px;">Will work.</span>
</div>
或者您可以使用table
答案 5 :(得分:0)
您可以执行以下操作:
div:after {
content:"";
clear:both;
display:block;
}