首页  >  文章  >  web前端  >  如何在 CSS 中缩放图像以填充边界框,同时保留宽高比?

如何在 CSS 中缩放图像以填充边界框,同时保留宽高比?

Barbara Streisand
Barbara Streisand原创
2024-10-27 04:26:29814浏览

How to Scale an Image to Fill a Bounding Box While Preserving Aspect Ratio in CSS?

缩放图像以填充边界框并保持纵横比

缩放图像以适合边界框,同时保持其纵横比可以对 CSS 提出挑战。

考虑以下用例:

  • 用例 1: 图像大于容器。
  • 用例 2: 图像小于容器(缩小)。
  • 用例 3: 图像小于容器(放大)。

标准 CSS 属性 max-width 和 max-height 仅在图像大于容器时才起作用(用例 1 和 2)。

幸运的是,CSS3 为用例 3 提供了解决方案。通过设置将图像作为背景图像并使用带有包含值的背景大小属性,图像可以放大以填充容器而不扭曲其纵横比。

HTML:

<div class='bounding-box'>
</div>

CSS:

.bounding-box {
  background-image: url(...);
  background-repeat: no-repeat;
  background-size: contain;
}

将图像在容器内居中:

.bounding-box {
  background-image: url(...);
  background-size: contain;
  position: absolute;
  background-position: center;
  background-repeat: no-repeat;
  height: 100%;
  width: 100%;
}

此解决方案与大多数现代浏览器兼容。

以上是如何在 CSS 中缩放图像以填充边界框,同时保留宽高比?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn