aspect-ratio
The aspect-ratio
CSS property sets a preferred aspect ratio for the box, which will be used in the calculation of auto sizes and some other layout functions.
aspect-ratio: 1 / 1; aspect-ratio: 1; /* Global values */ aspect-ratio: inherit; aspect-ratio: initial; aspect-ratio: revert; aspect-ratio: unset;
Values
auto
-
Replaced elements with an intrinsic aspect ratio use that aspect ratio, otherwise the box has no preferred aspect ratio. Size calculations involving intrinsic aspect ratio always work with the content box dimensions.
<ratio>
-
The box’s preferred aspect ratio is the specified ratio of
width
/height
. Ifheight
and the preceding slash character are omitted,height
defaults to1
. Size calculations involving preferred aspect ratio work with the dimensions of the box specified bybox-sizing
.
Formal definition
Initial value | auto |
---|---|
Applies to | all elements except inline boxes and internal ruby or table boxes |
Inherited | no |
Computed value | as specified |
Animation type | discrete |
Formal syntax
auto | <ratio>
Examples
Examples of values for aspect-ratio
aspect-ratio: 1 / 1; aspect-ratio: 16 / 9; aspect-ratio: 0.5;
Mapping width and height to aspect-ratio
Browsers have added an internal aspect-ratio
property that applies to replaced elements and other related elements that accept width
and height
attributes. This appears in the browser's internal UA stylesheet.
In Firefox, the internal stylesheet rule looks like this:
img, input[type="image"], video, embed, iframe, marquee, object, table { aspect-ratio: attr(width) / attr(height); }
You can read more about this feature in Setting Height And Width On Images Is Important Again.
Specifications
Browser compatibility
Desktop | Mobile | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
Chrome | Edge | Firefox | Internet Explorer | Opera | Safari | WebView Android | Chrome Android | Firefox for Android | Opera Android | Safari on IOS | Samsung Internet | |
aspect-ratio |
88
84
|
88 |
89
83
Firefox 83 implements aspect-ratio for flex items.
81
Firefox 81 implements aspect-ratio for blocks and replaced elements.
|
No |
74 |
15 |
88 |
88 |
89 |
63 |
15 |
15.0 |
See also
- Mapping the width and height attributes of media container elements to their aspect-ratio
- Designing an aspect ratio unit for CSS
- Setting Height And Width On Images Is Important Again
© 2005–2021 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/CSS/aspect-ratio