【发布时间】:2015-08-27 13:57:56
【问题描述】:
使用 CSS flex box 模型,我如何强制图像保持其纵横比?
JS 小提琴:http://jsfiddle.net/xLc2Le0k/2/
请注意,图像会拉伸或收缩以填充容器的宽度。没关系,但我们也可以让它拉伸或缩小 高度 以保持图像比例吗?
HTML
<div class="slider">
<img src="http://www.placebacon.net/400/300" alt="Bacn">
<img src="http://www.placebacon.net/400/300" alt="Bacn">
<img src="http://www.placebacon.net/400/300" alt="Bacn">
<img src="http://www.placebacon.net/400/300" alt="Bacn">
</div>
CSS
.slider {
display: flex;
}
.slider img {
margin: 0 5px;
}
【问题讨论】:
-
据我所知,最好的解决方案是使用
<div>和 CSSbackground-image: url(...);background-size:contain; background-repeat:no-repeat -
这里有一些有趣的线索,但是当图像的比例不同时怎么办?添加和“额外”的 div 是我们需要担心的最后一件事。为什么不使用这样的测试用例:jsfiddle.net/sheriffderek/999Lg9qv