Aspect ratios are declared in a Sass map and included in each class via CSS variable, which also allows .

Pro-Tip! You don’t need frameborder="0" on your <iframe>s as we override that for you in Reboot.

Wrap any embed, like an <iframe>, in a parent element with .ratio and an aspect ratio class. The immediate child element is automatically sized thanks to our universal selector .ratio > *.

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

  1. <div class="ratio ratio-1x1">
  2. </div>
  3. <div class="ratio ratio-4x3">
  4. </div>
  5. <div class="ratio ratio-16x9">
  6. <div>16x9</div>
  7. </div>
  8. <div class="ratio ratio-21x9">
  9. <div>21x9</div>
  10. </div>

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.

Ratio - 图3

This CSS variable makes it easy to modify the aspect ratio across breakpoints. The following is 4x3 to start, but changes to a custom 2x1 at the medium breakpoint.

  1. .ratio-4x3 {
  2. --aspect-ratio: 50%; // 2x1
  3. }
  4. }

  1. $aspect-ratios: (
  2. "1x1": 100%,
  3. "4x3": calc(3 / 4 * 100%),
  4. "16x9": calc(9 / 16 * 100%),
  5. "21x9": calc(9 / 21 * 100%)