Przejdź do głównej zawartości Przejdź do nawigacji w dokumentach
in English

Stosunki

Użyj wygenerowanych pseudoelementów, aby element zachował wybrany współczynnik proporcji. Idealny do responsywnej obsługi osadzonych filmów lub pokazów slajdów na podstawie szerokości rodzica.

O

Użyj pomocnika proporcji, aby zarządzać współczynnikami proporcji treści zewnętrznych, takich jak <iframe>s, <embed>s, <video>s i <object>s. Tych pomocników można również używać w dowolnym standardowym elemencie potomnym HTML (np. a <div>lub <img>). Style są stosowane z klasy nadrzędnej .ratiobezpośrednio do dziecka.

Współczynniki proporcji są deklarowane na mapie Sass i uwzględniane w każdej klasie za pomocą zmiennej CSS, która umożliwia również niestandardowe współczynniki proporcji .

Pro-Tip! Nie potrzebujesz frameborder="0"na swoim <iframe>s, ponieważ zastępujemy to dla Ciebie w Reboot .

Przykład

Zawijaj dowolne embed, takie jak <iframe>, w element nadrzędny z .ratioklasą proporcji i. Bezpośredni element potomny jest automatycznie dopasowywany do rozmiaru dzięki naszemu uniwersalnemu selektorowi .ratio > *.

<div class="ratio ratio-16x9">
  <iframe src="https://www.youtube.com/embed/zpOULjyy-n8?rel=0" title="YouTube video" allowfullscreen></iframe>
</div>

Proporcje obrazu

Proporcje obrazu można dostosować za pomocą klas modyfikatorów. Domyślnie dostępne są następujące klasy współczynników:

1x1
4x3
16x9
21x9
<div class="ratio ratio-1x1">
  <div>1x1</div>
</div>
<div class="ratio ratio-4x3">
  <div>4x3</div>
</div>
<div class="ratio ratio-16x9">
  <div>16x9</div>
</div>
<div class="ratio ratio-21x9">
  <div>21x9</div>
</div>

Niestandardowe proporcje

Każda .ratio-*klasa zawiera niestandardową właściwość CSS (lub zmienną CSS) w selektorze. Możesz zastąpić tę zmienną CSS, aby tworzyć niestandardowe proporcje w locie, korzystając z szybkiej matematyki.

Na przykład, aby utworzyć współczynnik proporcji 2x1, ustaw --bs-aspect-ratio: 50%na .ratio.

2x1
<div class="ratio" style="--bs-aspect-ratio: 50%;">
  <div>2x1</div>
</div>

Ta zmienna CSS ułatwia modyfikowanie proporcji między punktami przerwania. Poniżej znajduje się 4x3 na początek, ale zmienia się na niestandardowy 2x1 w średnim punkcie przerwania.

.ratio-4x3 {
  @include media-breakpoint-up(md) {
    --bs-aspect-ratio: 50%; // 2x1
  }
}
4x3, potem 2x1
<div class="ratio ratio-4x3">
  <div>4x3, then 2x1</div>
</div>

Mapa Sassa

W _variables.scssprogramie możesz zmienić proporcje, których chcesz używać. Oto nasza domyślna $ratio-aspect-ratiosmapa. Zmodyfikuj mapę według własnego uznania i przekompiluj Sassa, aby móc z nich korzystać.

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