跳到主要内容

使用对象适应工具类来修改替换元素的内容(例如 <img> 或 <video>)应如何调整大小以适应其容器。

它是如何工作的

更改…的值 object-fit 财产 与我们的响应式 object-fit 工具类。此属性告诉内容以多种方式填充父容器,例如保持宽高比或拉伸以占据尽可能多的空间。

object-fit 的值的类使用格式 .object-fit-{value} 命名。请选择以下值之一:

  • contain
  • cover
  • fill
  • scale(用于缩小)
  • none

示例

将 object-fit-{value} 类添加到 替换元素:

Placeholder: Object fit contain Placeholder: Object fit cover Placeholder: Object fit fill Placeholder: Object fit scale down Placeholder: Object fit none
HTML
<img src="..." class="object-fit-contain border rounded" alt="...">
<img src="..." class="object-fit-cover border rounded" alt="...">
<img src="..." class="object-fit-fill border rounded" alt="...">
<img src="..." class="object-fit-scale border rounded" alt="...">
<img src="..." class="object-fit-none border rounded" alt="...">

响应式

每个object-fit值也存在响应式变化,使用格式.object-fit-{breakpoint}-{value},适用于以下断点缩写:sm、md、lg、xl和xxl。类可以根据需要组合以实现各种效果。

Placeholder: Contain on sm Placeholder: Contain on md Placeholder: Contain on lg Placeholder: Contain on xl Placeholder: Contain on xxl
HTML
<img src="..." class="object-fit-sm-contain border rounded" alt="...">
<img src="..." class="object-fit-md-contain border rounded" alt="...">
<img src="..." class="object-fit-lg-contain border rounded" alt="...">
<img src="..." class="object-fit-xl-contain border rounded" alt="...">
<img src="..." class="object-fit-xxl-contain border rounded" alt="...">

视频

.object-fit-{value} 和响应式 .object-fit-{breakpoint}-{value} 工具也适用于 <video> 元素。

<video src="..." class="object-fit-contain" autoplay></video>
<video src="..." class="object-fit-cover" autoplay></video>
<video src="..." class="object-fit-fill" autoplay></video>
<video src="..." class="object-fit-scale" autoplay></video>
<video src="..." class="object-fit-none" autoplay></video>

CSS

Sass 工具 API

对象适应工具类在我们的工具类 API scss/_utilities.scss 中声明。了解如何使用工具类 API。

"object-fit": (
  responsive: true,
  property: object-fit,
  values: (
    contain: contain,
    cover: cover,
    fill: fill,
    scale: scale-down,
    none: none,
  )
),