1
0
mirror of https://github.com/twbs/bootstrap.git synced 2025-02-25 06:39:53 +00:00
2020-09-23 13:30:11 -07:00

2.4 KiB

layout title description group toc
docs Ratios Use generated psuedo elements to make an element maintain the aspect ratio of your choosing. Perfect for responsively handling video or slideshow embeds based on the width of the parent. helpers true

About

Rules are directly applied to <iframe>, <embed>, <video>, and <object> elements. You can also use an explicit use an explicit descendant class, .ratio-item, when you want to match the styling for other attributes. Aspect ratios are declared in a Sass map and included in each class via CSS variable, which also allows custom aspect ratios.

{{< callout info >}} Pro-Tip! You don't need frameborder="0" on your <iframe>s as we override that for you in [Reboot]({{< docsref "/content/reboot" >}}). {{< /callout >}}

Example

Wrap any embed, like an <iframe>, in a parent element with .ratio and an aspect ratio class. As mentioned above, the .ratio-item isn't strictly required, but we encourage it.

{{< example >}}

{{< /example >}}

Aspect ratios

Aspect ratios can be customized with modifier classes. By default the following ratio classes are provided:

{{< example class="bd-example-ratios" >}}

1x1
4x3
16x9
21x9
{{< /example >}}

Custom ratios

Each .ratio-* class includes a CSS custom property (or CSS variable) in the selector. You can override this CSS variable to create custom aspect ratios on the fly with some quick math on your part.

For example, to create a 2x1 aspect ratio, set --aspect-ratio: 50% on the .ratio.

{{< example class="bd-example-ratios" >}}

2x1
{{< /example >}}

Sass map

Within _variables.scss, you can change the aspect ratios you want to use. Here's our default $ratio-aspect-ratios map. Modify the map as you like and recompile your Sass to put them to use.

{{< scss-docs name="aspect-ratios" file="scss/_variables.scss" >}}