Vitral 0.2
Mídia

AspectRatio

Uma caixa que mantém a proporção quando a largura muda, com o conteúdo recortado para preenchê-la.

Importação

main.ts
import { AspectRatio } from '@vitral/vue';

Proporções

Mountains under clouds
16 / 9
A waterfall in a forest
4 / 3
A person in a field
1 / 1
<script setup lang="ts">import { AspectRatio } from '@vitral/vue';</script> <template>    <div style="display: grid; grid-template-columns: repeat(auto-fill, minmax(12rem, 1fr)); gap: 1rem; width: 100%">        <figure style="margin: 0">            <AspectRatio :ratio="16 / 9" style="border-radius: 8px"><img src="https://picsum.photos/id/1018/640/360" alt="Mountains under clouds" /></AspectRatio>            <figcaption style="font-size: 0.75rem; color: var(--vt-text-muted-color)">16 / 9</figcaption>        </figure>        <figure style="margin: 0">            <AspectRatio :ratio="4 / 3" style="border-radius: 8px"><img src="https://picsum.photos/id/1039/480/360" alt="A waterfall in a forest" /></AspectRatio>            <figcaption style="font-size: 0.75rem; color: var(--vt-text-muted-color)">4 / 3</figcaption>        </figure>        <figure style="margin: 0">            <AspectRatio style="border-radius: 50%"><img src="https://picsum.photos/id/1027/320/320" alt="A person in a field" /></AspectRatio>            <figcaption style="font-size: 0.75rem; color: var(--vt-text-muted-color)">1 / 1</figcaption>        </figure>    </div></template>

API

Lido de packages/vue/src/components/AspectRatio/types.ts, então diz o que o componente aceita de fato.

Props

NomeTipoDescrição
rationumberLargura sobre altura: `16 / 9`, `1`, `4 / 3`. O padrão é 1.

Mais pt, dt e unstyled de BaseProps; veja pass-through e modo sem estilo.

Slots

NomeProps do slotDescrição
default—O que preenche a caixa: uma imagem, um vídeo, um mapa.