Skip to content

Aspect Ratio

Aspect Ratio is part of the Layout and content group. Fixed-ratio frame for media and previews.

Terminal window
npx bambiui add aspect-ratio --framework react
Terminal window
npx bambiui add aspect-ratio --framework solid
Terminal window
npx bambiui add aspect-ratio --framework svelte
Terminal window
npx bambiui add aspect-ratio --framework vue
import { AspectRatio, AspectRatioContent } from "@/components/ui/aspect-ratio";
export function Example() {
return <AspectRatio />;
}
import { AspectRatio, AspectRatioContent } from "~/components/ui/aspect-ratio";
export function Example() {
return <AspectRatio />;
}
<script lang="ts">
import { AspectRatio, AspectRatioContent } from "$lib/components/ui/aspect-ratio";
</script>
<AspectRatio />
<script setup lang="ts">
import { AspectRatio, AspectRatioContent } from "@/components/ui/aspect-ratio";
</script>
<template>
<AspectRatio />
</template>
Aspect Ratio preview should be verified in the target framework after copying the component source. Interactive behavior comes from generated public artifacts, not docs-only mock behavior.

Use for images, videos, and cards that need stable dimensions.

Generated output uses serializable data-* attributes for state and styling. Controlled components fire bambi:<event-name> events and expect application state to update externally; uncontrolled components manage local source state and still fire events.

Use semantic labels, visible focus states, and keyboard interaction patterns appropriate for Aspect Ratio. Do not hide required instructions in transient UI. Verify focus movement and disabled states in the installed framework output.

AspectRatio, AspectRatioContent

Customize tokens after installing and previewing the component. Relevant tokens include:

  • --bambi-background
  • --bambi-border
  • --bambi-radius-md