Dieser Inhalt wurde automatisch aus dem Englischen übersetzt, und kann Fehler enthalten. Erfahre mehr über dieses Experiment.

View in English Always switch to English

aspect-ratio

Baseline Widely available

This feature is well established and works across many devices and browser versions. It’s been available across browsers since ⁨September 2021⁩.

Die aspect-ratio CSS Eigenschaft ermöglicht es Ihnen, das gewünschte Breiten-zu-Höhen-Verhältnis eines Box-Elements zu definieren. Das bedeutet, dass der Browser die Abmessungen des Elements anpasst, um das angegebene Breiten-zu-Höhen-Verhältnis beizubehalten, selbst wenn sich die Größe des übergeordneten Containers oder des Ansichtsfensters ändert. Das angegebene Seitenverhältnis wird bei der Berechnung von automatischen Größen und einigen anderen Layout-Funktionen verwendet.

Mindestens eine der Box-Größen muss automatisch sein, damit aspect-ratio eine Wirkung hat. Wenn weder die Breite noch die Höhe eine automatische Größe ist, hat das angegebene Seitenverhältnis keinen Einfluss auf die bevorzugten Größen der Box.

Probieren Sie es aus

aspect-ratio: auto;
aspect-ratio: 1 / 1;
aspect-ratio: 16 / 9;
aspect-ratio: 0.5;
<section id="default-example">
  <img
    class="transition-all"
    height="640"
    id="example-element"
    src="/shared-assets/images/examples/plumeria.jpg"
    width="466" />
</section>
#example-element {
  height: 100%;
  width: auto;
}

Syntax

css
aspect-ratio: 1 / 1;
aspect-ratio: 1;

/* fallback to 'auto' for replaced elements */
aspect-ratio: auto 3/4;
aspect-ratio: 9/6 auto;

/* Global values */
aspect-ratio: inherit;
aspect-ratio: initial;
aspect-ratio: revert;
aspect-ratio: revert-layer;
aspect-ratio: unset;

Diese Eigenschaft wird als eines oder beides der Schlüsselwörter auto oder ein <ratio> angegeben. Wenn beide angegeben sind und es sich bei dem Element um ein ersetztes Element handelt, wie zum Beispiel <img>, dann wird das angegebene Verhältnis verwendet, bis der Inhalt geladen ist. Nachdem der Inhalt geladen ist, wird der auto Wert angewendet, sodass das intrinsische Seitenverhältnis des geladenen Inhalts verwendet wird.

Wenn das Element kein ersetztes Element ist, wird das angegebene ratio verwendet.

Werte

auto

Ersetzte Elemente mit einem intrinsischen Seitenverhältnis verwenden dieses Seitenverhältnis, ansonsten hat die Box kein bevorzugtes Seitenverhältnis. Größenberechnungen, die das intrinsische Seitenverhältnis betreffen, arbeiten immer mit den Abmessungen des Inhaltsbereichs.

<ratio>

Das bevorzugte Seitenverhältnis der Box ist das angegebene Verhältnis von width / height. Wenn height und das vorausgehende Schrägstrich-Zeichen weggelassen werden, hat height den Standardwert 1. Größenberechnungen, die das bevorzugte Seitenverhältnis betreffen, arbeiten mit den Abmessungen der Box, die durch box-sizing angegeben werden.

auto && <ratio>

Wenn sowohl auto als auch ein <ratio> zusammen angegeben werden, wird auto verwendet, wenn das Element ein ersetztes Element mit einem natürlichen Seitenverhältnis ist, wie ein <img> Element. Andernfalls wird das angegebene Verhältnis von width / height als bevorzugtes Seitenverhältnis verwendet.

Formale Definition

Anfangswertauto
Anwendbar aufall elements except inline boxes and internal ruby or table boxes
VererbtNein
Berechneter Wertwie angegeben
Animationstypby computed value type

Formale Syntax

aspect-ratio = 
auto ||
<ratio>

<ratio> =
<number [0,∞]> [ / <number [0,∞]> ]?

Beispiele

Erkundung der Auswirkungen von aspect-ratio mit fester Breite

In diesem Beispiel wurde die Breite der <div> Elemente auf 100px und die Höhe auf auto gesetzt. Da der Breitenwert hier festgelegt ist, wirkt sich die aspect-ratio Eigenschaft nur auf die Höhe der <div> Elemente aus, um das angegebene Breiten-zu-Höhen-Verhältnis beizubehalten.

css
div {
  width: 100px;
  height: auto;
}
div:nth-child(1) {
  aspect-ratio: 1/1;
}
div:nth-child(2) {
  aspect-ratio: 0.5;
}
div:nth-child(3) {
  aspect-ratio: 1;
}
div:nth-child(4) {
  aspect-ratio: 1/0.5;
}
div:nth-child(5) {
  aspect-ratio: 16/9;
}

Rückfall auf natürliches Seitenverhältnis

In diesem Beispiel verwenden wir zwei <img> Elemente. Beim ersten Element ist das src Attribut nicht auf eine Bilddatei gesetzt.

html
<img src="" /> <img src="plumeria.jpg" />

Der folgende Code legt 3/2 als bevorzugtes Seitenverhältnis fest und auto als Rückfall.

css
img {
  display: inline;
  width: 200px;
  border: 2px dashed red;
  background-color: lime;
  vertical-align: top;

  aspect-ratio: 3/2 auto;
}

Beachten Sie, wie das erste Bild ohne ersetzt Inhalt das 3/2 Verhältnis beibehält, während das zweite Bild nach dem Laden des Inhalts das natürliche Seitenverhältnis des Bildes verwendet.

Spezifikationen

Specification
CSS Box Sizing Module Level 4
# aspect-ratio

Browser-Kompatibilität

Siehe auch