Skip to content
shadcn.io

shadcn.io is not affiliated with official shadcn/ui

Aspect Ratio examples · Standard

16:9 Aspect Ratio (Widescreen) for React

A 16:9 widescreen frame for video players, hero images, and other modern media.

Framework
UI library

Widescreen is everywhere now. This example sets ratio to 16 / 9 on AspectRatio, so the frame keeps widescreen proportions at any width and reserves its height before an image or video loads. The width comes from the parent, capped here with max-w-md, and the height follows the ratio. Use it for video embeds, players, and hero banners that should match modern displays.

Preview

Preview width
16:9

Installation

Sign in to get your install command
Free with an account. It carries your token, so the CLI installs everything in one go.

FAQ

How is 16:9 set on this frame?

ratio is 16 / 9 on AspectRatio, width divided by height. That is a widescreen frame. The centered label reads "16:9".

Where does the frame's width come from?

The parent is w-full max-w-md. The height follows that width. Give the wrapper a width, because a ratio with no width can collapse. max-w-md caps the frame near 28rem wide.

How does the label fill the frame?

The child is a div with size-full, flex items-center justify-center, rounded-md, and bg-muted. The span is text-sm text-muted-foreground. Those classes are on the child, so the frame's shape stays on ratio.

How does ratio become a height?

The ratio is stored in the --ratio custom property, and the aspect-ratio utility reads that variable.

How do I put an image or a video in this frame?

Put one child in AspectRatio and make it fill the box. The Aspect Ratio usage places the image absolutely, inset on every side, at full size, with object-cover. This file's child is the muted "16:9" label.

What happens if I omit ratio?

The default is 1, a square. This file sets 16 / 9 so the frame stays widescreen inside max-w-md.