我最初使用表格/表格单元格显示方法将文本垂直居中,效果很好。当我切换到容器的百分比高度并使用块级图像(与相关文本同级)来设置容器的大小时,问题就来了。在不声明静态容器大小的情况下,我无法再让绝对定位的文本等于容器高度。显然这很容易用 JS 解决,但我不想走那条路。
我还使用picturefill.js 来提供图像,因此不能选择使用图像作为css 背景(除非有人建议让它工作)。
这是小提琴:
这是代码:
HTML
<div class="tile">
<a href="#">
<img src="#">
<div class="header-container">
<h2>title</h2>
</div>
</a>
</div>
CSS
.tile {
position: relative;
}
img {
display: block;
}
a {
display: block;
position: relative;
}
.header-container {
display: table;
height: 100%;
left: 0;
position: absolute;
top: 0;
width: 100%;
}
h2 {
display: table-cell;
text-align: center;
vertical-align: middle;
z-index: 199;
}