Skip to main content

Utilities

Object fit

Use the object fit utilities to modify how the content of a replaced element, such as an <img> or <video>, should be resized to fit its container.

View page source on GitHub

How it works#

Change the value of the object-fit property with the responsive object-fit utility classes. This property tells the content to fill the parent container in a variety of ways, such as preserving the aspect ratio or stretching to take up as much space as possible.

Classes for the value of object-fit are named using the format .object-fit-{value}. Choose from the following values:

  • contain
  • cover
  • fill
  • scale (for scale-down)
  • none

Examples#

Add the object-fit-{value} class to the replaced element:

Object fit contain Object fit cover Object fit fill Object fit scale down Object fit none
<img src="../../../docs/sample-photo.webp" width="140" height="120" class="object-fit-contain border rounded" alt="Object fit contain">
<img src="../../../docs/sample-photo.webp" width="140" height="120" class="object-fit-cover border rounded" alt="Object fit cover">
<img src="../../../docs/sample-photo.webp" width="140" height="120" class="object-fit-fill border rounded" alt="Object fit fill">
<img src="../../../docs/sample-photo.webp" width="140" height="120" class="object-fit-scale border rounded" alt="Object fit scale down">
<img src="../../../docs/sample-photo.webp" width="140" height="120" class="object-fit-none border rounded" alt="Object fit none">

Responsive#

Responsive variations also exist for each object-fit value using the format .object-fit-{breakpoint}-{value}, for the following breakpoint abbreviations: sm, md and lg. Classes can be combined for various effects as you need.

Contain on sm Contain on md Contain on lg
<img src="../../../docs/sample-photo.webp" width="140" height="80" class="object-fit-sm-contain border rounded" alt="Contain on sm">
<img src="../../../docs/sample-photo.webp" width="140" height="80" class="object-fit-md-contain border rounded" alt="Contain on md">
<img src="../../../docs/sample-photo.webp" width="140" height="80" class="object-fit-lg-contain border rounded" alt="Contain on lg">

Video#

The .object-fit-{value} and responsive .object-fit-{breakpoint}-{value} utilities also work on <video> elements.

<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>