我有一个固定高度的容器,我想在其中显示图像和标题。要求是图像应缩放以适应可用高度,同时保持纵横比。标题可以是可变高度。
下面是我到目前为止所拥有的 JS 小提琴。我无法让图像右侧和左侧的空白消失(我在 img 标签中添加了一个边框以显示我的意思)。是否可以删除多余的空格?
https://jsfiddle.net/peL1a7vj/1/
HTML
<div class="container">
<div class="item">
<img class="image" src="https://www.stockvault.net/data/2009/07/14/109489/thumb16.jpg"/>
<div class="text">
Caption 1
</div>
</div>
<div class="item">
<img class="image" src="https://images.unsplash.com/photo-1591870509558-26b7eee6d549"/>
<div class="text">
Caption 2
</div>
</div>
</div>
CSS
.container {
height: 200px;
flex: 1 1 auto;
display: flex;
flex-flow: row nowrap;
overflow-x: auto;
overflow-y: hidden;
}
.item {
display: flex;
flex-direction: column;
}
.text {
flex: 0 0 auto;
}
.image {
flex: 1 1 auto;
overflow: hidden;
object-fit: contain;
max-height: 100%;
width: auto;
border: solid;
}
这类似于CSS object-fit: contains; 在布局中保持原始图像宽度,但我无法使用接受的答案中建议的方法修复它