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.
Das aspect-ratio
CSS Media-Feature kann verwendet werden, um das Seitenverhältnis des Viewports zu testen.
Syntax
Das aspect-ratio
-Feature wird als <ratio>
-Wert angegeben, der das Breiten-Höhen-Seitenverhältnis des Viewports darstellt. Es handelt sich um ein Bereichs-Feature, was bedeutet, dass Sie die präfixierten Varianten min-aspect-ratio
und max-aspect-ratio
verwenden können, um Mindest- bzw. 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 Media-Query-Bedingungen zutrifft, da keine der untenstehenden Regeln auf das <div>
im <iframe>
angewendet wird. Sehen Sie, ob Sie herausfinden können, welche Breiten- und Höhenwerte dies auslösen!
HTML
<iframe id="outer">
<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 Media-Query Elemente mit einem Seitenverhältnis von 1,6 und darüber auswählt. Das max-aspect-ratio: 3/2
setzt die obere Grenze, sodass diese Media-Query Elemente mit einem Seitenverhältnis von 1,5 und darunter auswählt. Die aspect-ratio: 1/1
überschreibt die Regel des maximalen Seitenverhältnisses, weil sie danach deklariert wurde, und wählt Elemente mit einem Seitenverhältnis von genau 1
aus.
Im Ausgangszustand steigt das Seitenverhältnis von eins, wenn die Höhe verringert wird. So ä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> |
Browser-Kompatibilität
Loading…