我想在一个浮动图像后面垂直对齐一个 span 元素。 我在 Stack Overflow 上搜索并找到了 这篇文章,但我的图像是浮动的。
<div>
<img style="width:30px;height:30px; float:left">
<span style="vertical-align:middle">Doesn't work.</span>
</div>
我给图片添加了vertical-align:middle
,但是没有任何变化!
谢谢。
我想在一个浮动图像后面垂直对齐一个 span 元素。 我在 Stack Overflow 上搜索并找到了 这篇文章,但我的图像是浮动的。
<div>
<img style="width:30px;height:30px; float:left">
<span style="vertical-align:middle">Doesn't work.</span>
</div>
我给图片添加了vertical-align:middle
,但是没有任何变化!
谢谢。
Flexbox
来实现此功能:
div {
display: flex;
align-items: center;
}
<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>
首先从中删除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>
Check this http://jsfiddle.net/ws3Uf/
<span>
内容更改为两行长的内容时,第二行会移到图像底部。
最后,我在<span>
中添加了display:inline-block
,它起作用了!
谢谢 - Mosijavafloat
不会产生相同的效果。http://jsfiddle.net/9667cqun/ - Alec Jacobson添加 line-height
属性(等于图片高度):
<div>
<img style="width:30px;height:30px; float:left">
<span style="vertical-align:middle; line-height: 30px;">Works!</span>
</div>
float
)。 - ScottS<span>
是一个内联元素,尝试添加 display:block
到 span,给它与图像相同的高度和匹配的行高。同时将其向左浮动。那应该可以解决问题。https://codepen.io/aungthihaaung/pen/ExXGvGy
.picture {
height: 300px;
float: left;
}
.div1 {
height: 300px;
}
.div2 {
position: relative;
top: 50%;
transform: translateY(-50%);
}
<img src="https://via.placeholder.com/300" class="picture" />
<div class="div1">
<div class="div2">
<h1>Hi There!</h1>
Lorem ipsum dolor, sit amet consectetur adipisicing elit. Et, deleniti
perferendis! Ut, eaque iste incidunt atque perferendis odio laborum
nobis obcaecati exercitationem molestiae nihil est recusandae
mollitia. Fuga beatae inventore, adipisci ipsa aliquid corporis harum
ex tenetur iure assumenda optio quod eaque omnis porro ab consequuntur
unde a totam minima.
</div>
</div>
div:after {
content:"";
clear:both;
display:block;
}
vertical-align:middle
属性,它似乎会改变。我在 Chrome 上测试过了。 - petrichor