在我们开始之前:
请不要将其作为另一个问题的副本关闭。我只是在 Stackoverflow 上搜索了这里,但没有找到确切的案例。
最接近的是我相信这个问题。尽管如此,那里给出的答复对我来说并没有真正起作用,我相信因为该段落已设置position: absolute;
。
那是HTML:
<ul>
<li><img src="http://www.placehold.it/300x200" /><p><span>Lorem Ipsum</span></p></li>
</ul>
和CSS:
li {
position: relative;
float: left;
overflow: hidden;
}
img {
width: 100%;
vertical-align: middle;
}
p {
background-color: rgba(255, 0, 0, .3);
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
}
span {
background-color: rgba(0, 255, 0, .3);
vertical-align: middle;
}
小提琴:http: //jsfiddle.net/DpVjZ/
vertical-align: middle;
只是将文本从顶部稍微凸出一点,但不是真正在中间。
设置跨度position: absolute;
然后应用top: 50%;
然后margin-top: -x%;
将不起作用,因为跨度的高度未知,因为它是动态内容。
尽管链接的问题指出这是不好的做法,但我也尝试了这种display: table-cell
方法,但没有任何结果。请帮我。