Wie richtet man Text vertikal am Bild aus?
P粉360266095
2023-08-27 12:45:29
<p>为什么 <code>vertical-align: middle</code> 不起作用?然而, <code>vertical-align: top</code> <em>确实</em>有效.</p>
<p><br /></p>
<pre class="brush:css;toolbar:false;">span{
vertikal ausrichten: Mitte;
}</pre>
<pre class="brush:html;toolbar:false;"><div>
<img src="https://via.placeholder.com/30" alt="small img" />
<span>Funktioniert nicht.</span>
</div></pre>
<p><br /></p>
以下是一些垂直对齐的简单技术:
单行垂直对齐:中间
这个很简单:将文本元素的行高设置为等于容器的行高
多行vertical-align:bottom
相对于其容器绝对定位内部 div
多行vertical-align:middle
如果必须支持旧版本的 IE
为了使其全面正常工作,您必须对 CSS 进行一些修改。幸运的是,有一个 IE 错误对我们有利。在容器上设置
top:50%
,在内部 div 上设置top:-50%
,可以获得相同的结果。我们可以使用 IE 不支持的另一个功能将两者结合起来:高级 CSS 选择器。可变容器高度vertical-align:middle
此解决方案需要比其他解决方案稍微更现代的浏览器,因为它使用
transform:translateY
属性。 (http://caniuse.com/#feat=transforms2d)将以下 3 行 CSS 应用于元素将使其在其父元素中垂直居中,无论父元素的高度如何:
实际上,在这种情况下,它非常简单:对图像应用垂直对齐。由于所有内容都在一行中,因此您实际上要对齐的是图像,而不是文本。