我想在浮动图像之后垂直对齐跨度。我在堆栈溢出中搜索它并找到了这篇文章。但我的形象是浮动的。
<div>
<img style="width:30px;height:30px; float:left">
<span style="vertical-align:middle">Doesn't work.</span>
</div>
我给vertical-align:middle
形象,没有任何改变!
谢谢
我想在浮动图像之后垂直对齐跨度。我在堆栈溢出中搜索它并找到了这篇文章。但我的形象是浮动的。
<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>
Add line-height
(equal to picture height):
<div>
<img style="width:30px;height:30px; float:left">
<span style="vertical-align:middle; line-height: 30px;">Works!</span>
</div>
A<span>
是一个内联元素,尝试添加display:block
到跨度,给它与图像相同的高度和匹配的行高。让它也向左浮动。那应该工作
您可以执行以下操作:
div:after {
content:"";
clear:both;
display:block;
}
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>