Welcome to mirror list, hosted at ThFree Co, Russian Federation.

object-fit.md « utilities « 5.2 « docs « content « site - github.com/twbs/bootstrap.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
blob: 1777430f7a0151d2044c8853bf91396bd22b2bd7 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
---
layout: docs
title: Object fit
description: Use the object fit utilities to sets how the content of a [replaced element](https://developer.mozilla.org/en-US/docs/Web/CSS/Replaced_element), such as an `<img>` or `<video>`, should be resized to fit its container.
group: utilities
toc: true
---

## How it works

Change the value of the [`object-fit` property](https://developer.mozilla.org/en-US/docs/Web/CSS/object-fit) with our responsive `object-fit` utility classes. This property tells the content to fill the container in a variety of ways; such as <i>"preserve that aspect ratio"</i> or <i>"stretch up and take up as much space as possible"</i>. 

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](https://developer.mozilla.org/en-US/docs/Web/CSS/Replaced_element):

{{< example class="d-flex overflow-auto" >}}
{{< placeholder width="20%" height="120" class="object-fit-contain  border rounded" text="Object Fit Contain" markup="img" >}}
{{< placeholder width="20%" height="120" class="object-fit-cover  border rounded" text="Object Fit Cover" markup="img" >}}
{{< placeholder width="20%" height="120" class="object-fit-fill  border rounded" text="Object Fit Fill" markup="img" >}}
{{< placeholder width="20%" height="120" class="object-fit-scale  border rounded" text="Object Fit Scale Down" markup="img" >}}
{{< placeholder width="20%" height="120" class="object-fit-none  border rounded" text="Object Fit None" markup="img" >}}
{{< /example >}}

## Responsive

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


{{< example class="d-flex overflow-auto" >}}
{{< placeholder width="20%" height="80" class="object-fit-sm-contain  border rounded" text="Contain on sm" markup="img" >}}
{{< placeholder width="20%" height="80" class="object-fit-md-contain  border rounded" text="Contain on md" markup="img" >}}
{{< placeholder width="20%" height="80" class="object-fit-lg-contain  border rounded" text="Contain on lg" markup="img" >}}
{{< placeholder width="20%" height="80" class="object-fit-xl-contain  border rounded" text="Contain on xl" markup="img" >}}
{{< placeholder width="20%" height="80" class="object-fit-xxl-contain  border rounded" text="Contain on xxl" markup="img" >}}
{{< /example >}}

## Video Tags

Just like `<img>` tags, the `.object-fit-{value}` and responsive `.object-fit-{breakpoint}-{value}` utilities also work on `<video>` tags.

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

### Utilities API

Object fit utilities are declared in our utilities API in `scss/_utilities.scss`. [Learn how to use the utilities API.]({{< docsref "/utilities/api#using-the-api" >}})

{{< scss-docs name="utils-object-fit" file="scss/_utilities.scss" >}}