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 Juli 2015.
Die aspect-ratio CSS Medienfunktion kann verwendet werden, um das Seitenverhältnis des Viewports zu testen.
Syntax
Die aspect-ratio Funktion wird als ein <ratio> Wert angegeben, der das Breite-zu-Höhe Seitenverhältnis des Viewports darstellt. Es handelt sich um eine Bereichsfunktion, was bedeutet, dass Sie auch die Präfixe min-aspect-ratio und max-aspect-ratio verwenden können, um jeweils Mindest- und Höchstwerte abzufragen.
Beispiele
Im folgenden Beispiel ist ein <div>-Element in einem <iframe> enthalten. Das iframe erstellt seinen eigenen Viewport. Ändern Sie die Größe des <iframe>, um aspect-ratio in Aktion zu sehen.
Beachten Sie, dass der Hintergrund weiß wird, wenn keine der Bedingungen der Medienabfrage zutrifft, da keine der unten stehenden Regeln auf das <div> innerhalb des <iframe> angewendet wird. Können Sie herausfinden, welche Breiten- und Höhenwerte dies auslösen?
HTML
<iframe
id="outer"
srcdoc="<div id='inner'>Watch this element as you resize iframe viewport's width and height.</div>">
</iframe>
CSS
/* Minimum allowed aspect ratio */
/* Select aspect ratios 8/5 = 1.6 and above */
@media (min-aspect-ratio: 8/5) {
div {
background: #9999ff; /* blue */
}
}
/* Maximum allowed aspect ratio */
/* Select aspect ratios 3/2 = 1.5 and below */
@media (max-aspect-ratio: 3/2) {
div {
background: #99ff99; /* green */
}
}
/* Exact aspect ratio, put it at the bottom to avoid override */
@media (aspect-ratio: 1/1) {
div {
background: #ff9999; /* red */
}
}
Ergebnis
Beachten Sie, dass min-aspect-ratio: 8/5 die untere Grenze auf 1.6 setzt, sodass diese Medienabfrage Elemente mit Seitenverhältnissen ab 1.6 auswählt. Die max-aspect-ratio: 3/2 setzt die obere Grenze, sodass diese Medienabfrage Elemente mit Seitenverhältnissen bis 1.5 auswählt. Die aspect-ratio: 1/1 überschreibt die Regel für das maximale Seitenverhältnis, da sie später deklariert wurde und Elemente mit einem Seitenverhältnis von genau 1 auswählt.
Aus dem Ausgangszustand heraus beginnt das Seitenverhältnis zu steigen, wenn Sie die Höhe verringern. Somit ändert sich die Hintergrundfarbe des div von rot (1) < grün (1.5) < weiß < blau (1.6).
Spezifikationen
| Specification |
|---|
| Media Queries Level 4> # aspect-ratio> |