aspect-ratio CSS-Media-Feature
Baseline
Weitgehend verfügbar
Diese Funktion ist gut etabliert und funktioniert auf vielen Geräten und in vielen Browserversionen. Sie ist seit Juli 2015 browserübergreifend verfügbar.
Die aspect-ratio CSS Media-Feature kann verwendet werden, um das Seitenverhältnis des Viewports zu testen.
Syntax
Die aspect-ratio-Funktion wird als <ratio>-Wert angegeben, der das Breite-zu-Höhe-Verhältnis des Viewports darstellt. Es handelt sich um eine Bereichsfunktion, was bedeutet, dass Sie auch die Präfixvarianten min-aspect-ratio und max-aspect-ratio verwenden können, um minimale bzw. maximale Werte abzufragen.
Beispiele
Im unten stehenden 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 unten stehenden Regeln auf das <div> innerhalb des <iframe> angewendet wird. Sehen Sie, ob Sie herausfinden können, 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 Media-Query Elemente mit einem Seitenverhältnis von 1,6 und darüber auswählt. Die 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 Maximal-Seitenverhältnisregel, da sie danach deklariert wurde, und wählt Elemente mit einem Seitenverhältnis von genau 1.
Aus dem anfänglichen Zustand erhöht sich das Seitenverhältnis, 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
| Spezifikation |
|---|
| Media Queries Level 4> # aspect-ratio> |