5

我有一个比它高的横幅图像。我有一个显示不同大小图像的容器 div,对于横幅样式,我需要它拉伸和/或挤压以在两个方向上填充父 div。我看过object-fit:fill,但它似乎只是水平拉伸图像 - 它没有做任何让它垂直填充 div 的事情。

一个工作示例在这里;代码如下所示:

.tile {
  position: relative;
  float: left;
  margin: 10px;
  border: 4px solid green;
  height: 400px;
}

.deal {
  width: 342px;
  background: #ffffff;
}

.tileImage.promo {
  object-fit: fill;
}
<div class="tile deal hsNational active">
  <img class="tileImage promo" src="https://cdn.pixabay.com/photo/2015/12/13/09/42/banner-1090835_960_720.jpg" height="200px">
</div>

我究竟做错了什么?(我已经尝试了 的各种值object-fit,但它们都没有满足我的需要。)图像应该被水平挤压并垂直拉伸以完全填充绿色边框内的区域。

4

1 回答 1

5

定义图像的尺寸,然后object-fit工作:

.tile {
    position: relative;
    float: left;
    margin: 10px;
    border: 4px solid green;
    height: 400px;
}

.deal {
    width: 342px;
    background: #ffffff;
}

.tileImage.promo {
    object-fit: fill; /* also try 'contain' and 'cover' */
    width: 100%;
    height: 100%;
}
<div class="tile deal hsNational active">
  <img class="tileImage promo" src="https://cdn.pixabay.com/photo/2015/12/13/09/42/banner-1090835_960_720.jpg">
</div>

更多细节在这里:为什么对象适合在 flexbox 中不起作用?

于 2017-09-21T21:34:19.207 回答