Właściwość CSSModel pudełkowy

aspect-ratio

Ustala proporcje szerokości do wysokości elementu.

Wartość domyślna
auto
Dziedziczona
Nie
Dotyczy
wszystkie elementy poza liniowymi niezastępowanymi i wewnętrznymi elementami tabel
JavaScript
element.style.aspectRatio = "16 / 9"
Na tej stronie

Przykład

#
CSS
.thumbnail {
  width: 100%;
  aspect-ratio: 16 / 9;
  object-fit: cover;
  border-radius: 12px;
}
Podgląd

Definicja i zastosowanie

#

Właściwość aspect-ratio pozwala nadać elementowi stałe proporcje, na przykład 16 / 9 dla filmu albo 1 / 1 dla kwadratowego awatara. Wystarczy ustawić jeden wymiar, drugi przeglądarka wyliczy sama.

Zanim ta właściwość weszła do przeglądarek, proporcje uzyskiwano sztuczką z procentowym paddingiem. Dziś wystarczy jedna czytelna linijka.

Jeśli ustawisz jawnie oba wymiary, aspect-ratio zostanie zignorowane. Treść, która nie mieści się w wyliczonej wysokości, może też rozepchnąć element, chyba że dodasz overflow inne niż visible albo min-height: 0.

Składnia

#
Składnia
aspect-ratio: auto | <szerokość> / <wysokość>;

Wartości

#
  • auto

    Wysokość wynika z treści.
  • 1 / 1

    Kwadrat: 160 × 160px.
  • 16 / 9

    Proporcje panoramiczne, jak w filmach.
  • 3 / 4

    Pionowy prostokąt, jak zdjęcie portretowe.

Wartości w praktyce

#

auto

Wysokość wynika z treści.
.demo { aspect-ratio: auto; }

1 / 1

Kwadrat: 160 × 160px.
.demo { aspect-ratio: 1 / 1; }

16 / 9

Proporcje panoramiczne, jak w filmach.
.demo { aspect-ratio: 16 / 9; }

3 / 4

Pionowy prostokąt, jak zdjęcie portretowe.
.demo { aspect-ratio: 3 / 4; }

Obsługa przeglądarek

#

Szeroko dostępne · od 2021 roku

Działa we wszystkich nowoczesnych przeglądarkach, także na telefonach. Możesz używać bez obaw.

  • Chrome
  • Edge
  • Firefox
  • Safari

Dobre praktyki

#
  • Połącz aspect-ratio z object-fit: cover, żeby zdjęcia o różnych proporcjach wyglądały w siatce jednolicie.
  • Ustaw proporcje miejsca na wideo lub reklamę z góry, a strona nie będzie skakać podczas ładowania.

Powiązane hasła

#

Widzisz błąd albo brakuje przykładu? Napisz do nas.