Capítulo 69 de 108
Mantém proporção fixa de largura/altura para o conteúdo (tipicamente imagem/vídeo), evitando layout shift e distorção independentemente do tamanho do container.
ratio: número obrigatório representando a razão largura/altura (ex. 16/9, 1/1, 9/16).<Image fill>) deve preencher o container via fill + object-cover, já que o AspectRatio controla apenas as dimensões do wrapper.<AspectRatio ratio={16 / 9} className="w-full max-w-sm rounded-lg bg-muted">
<Image
src="https://avatar.vercel.sh/shadcn1"
alt="Photo"
fill
className="rounded-lg object-cover grayscale dark:brightness-20"
/>
</AspectRatio>
<Image fill>.<AspectRatio ratio={1 / 1} className="w-full max-w-[12rem] rounded-lg bg-muted">
<Image src="..." alt="Photo" fill className="rounded-lg object-cover" />
</AspectRatio>
1/1), útil para avatares/thumbnails.| Prop | Type | Default | Required |
|---|---|---|---|
ratio | number | - | Sim |
className | string | - | Não |
fill + object-cover na imagem interna: sem isso a imagem não respeita a proporção do container e pode distorcer ou vazar.w-full/max-w-* só no <Image> em vez do AspectRatio: o dimensionamento responsivo deve vir do wrapper AspectRatio, a imagem apenas preenche.ratio é a única prop essencial: 16/9 (paisagem), 1/1 (quadrado), 9/16 (retrato) são os valores mais comuns.fill + object-cover na mídia interna para evitar distorção.CarouselItem para manter proporção consistente entre slides.CardContent frequentemente contém um AspectRatio para imagens de capa.