PositioningAspect Ratio

Aspect Ratio

Controls the aspect ratio of an element.

Widely available

This feature is well established and works across many devices and browser versions.

Chrome
Edge
Firefox
Safari
ClassStyle
ar-autoaspect-ratio: auto;
ar-1/1aspect-ratio: 1/1;
ar-1/2aspect-ratio: 1/2;
ar-16/9aspect-ratio: 16/9;
ar-2/1aspect-ratio: 2/1;
ar-2/3aspect-ratio: 2/3;
ar-3/2aspect-ratio: 3/2;
ar-9/16aspect-ratio: 9/16;

Auto

Initial value

Allows the element to maintain its default aspect ratio based on its content.

Frangipani
<div class="ar-auto h-32">
<img class="d-full of-c" src="/img/frangipani.jpg" alt="Frangipani" />
</div>

1/1

Enforces a square aspect ratio.

Frangipani
<div class="ar-1/1 h-32">
<img class="d-full of-c" src="/img/frangipani.jpg" alt="Frangipani" />
</div>

1/2

Enforces a vertical aspect ratio.

Frangipani
<div class="ar-1/2 h-32">
<img class="d-full of-c" src="/img/frangipani.jpg" alt="Frangipani" />
</div>

16/9

Enforces a widescreen aspect ratio.

Frangipani
<div class="ar-16/9 h-32">
<img class="d-full of-c" src="/img/frangipani.jpg" alt="Frangipani" />
</div>

2/1

Enforces a horizontal aspect ratio.

Frangipani
<div class="ar-2/1 h-32">
<img class="d-full of-c" src="/img/frangipani.jpg" alt="Frangipani" />
</div>

2/3

Enforces a vertical aspect ratio.

Frangipani
<div class="ar-2/3 h-32">
<img class="d-full of-c" src="/img/frangipani.jpg" alt="Frangipani" />
</div>

3/2

Enforces a horizontal aspect ratio.

Frangipani
<div class="ar-3/2 h-32">
<img class="d-full of-c" src="/img/frangipani.jpg" alt="Frangipani" />
</div>

9/16

Enforces a vertical aspect ratio.

Frangipani
<div class="ar-9/16 h-32">
<img class="d-full of-c" src="/img/frangipani.jpg" alt="Frangipani" />
</div>

Using utility variants

Learn how to override existing utilities based on the user's screen size or other factors, such as hover states.

Targeting different viewports

You can combine responsive breakpoints like sm:ar-*, md:ar-*, lg:ar-*, and xxl:ar-* to allow targeting specific utilities in different viewports.

Targeting hover states

Alternatively, you can apply :hover by using h:ar-* utility to override elements and change their values when hovering over them.