我通常只使用 line-height 进行垂直居中,但在这种情况下,我正在处理的布局有点棘手。
我已经把这个 jsfiddle 放在一起来展示我到目前为止的位置。所有的 CSS hack 都建议为此使用 table-cell 技巧,但如果包装器具有绝对高度,我只能让它工作,所以对我来说,这个文本不是垂直居中的:
<div class="wrap">
<a href="#">
<img src="http://www.thekrausemouse.com/wp-content/uploads/2016/03/sample-1.jpg" />
<span class="text"><span>Text that might span multiple lines</span></span>
</a>
</div>
https://jsfiddle.net/fdtbvmcw/
我基本上需要的是文本,无论它跨越多少行,都位于图像的中间。图像不能是背景图像,我不能将固定宽度或高度附加到包装器。
包装器正在模拟更大页面模板中的响应列,我需要图像来保留您看到的该列的全宽。如果需要,可以在列中添加其他 HTML。
想法?