你可以用纯 CSS 做到这一点,但你需要两个额外的 div 来保存和定位元素。
这是CSS:
.featureHolder {
position: relative;
/* height can be anything */
height: 200px;
}
.feature {
margin: 0;
overflow: visible;
/* width can be anything */
width: 60%;
height: 100px;
background: #cccccc;
position: absolute;
bottom: 0;
}
.imageHolder {
text-align: center;
width: 100%;
position: absolute;
bottom: 0;
}
img {
margin-bottom: -5px;
}
这是HTML:
<div class="featureHolder">
<figure class="feature">
<div class="imageHolder">
<a href="#">
<img src="img" />
</a>
</div>
<a href="#" class="title-bar">Caption</a>
</figure>
</div>
标题也可以放置在与图像相同的标签内,但在这个例子中它被分开了,所以我不必弄乱它。
这是JSFiddle中的演示- 给 .feature 任何宽度,img 仍应居中。(顺便说一句,您的 CSS 不正确 - 它应该是 'figure' 或 '.feature',但不能是 '.figure',因为 figure 是一个类名为 'feature' 的元素。)