ZaidanHomeDocsComponentsBlocksChartsTypesetCreate

Command Palette

Search for a command to run...

GitHub
New
Sections
  • Introduction
  • Components
  • Blocks
  • Installation
  • Customization
  • Dark Mode
  • Typeset
  • Zaidan Skills
  • FAQ
  • Roadmap
  • Changelog
Installation
  • Astro
  • Manual
  • Solid Start
  • TanStack Router
  • TanStack Start
  • Vite
Blocks
  • Data Grid
  • Event Calendar
  • Filters
  • Gantt
  • Image Crop
  • Kanban
  • Message Scroller
  • Questionnaire
  • Sortable
Components
  • Accordion
  • Alert
  • Alert Dialog
  • Aspect Ratio
  • Attachment
  • Avatar
  • Badge
  • Breadcrumb
  • Bubble
  • Button
  • Button Group
  • Calendar
  • Card
  • Carousel
  • Chart
  • Checkbox
  • Collapsible
  • Combobox
  • Command
  • Context Menu
  • Dialog
  • Drawer
  • Dropdown Menu
  • Empty
  • Field
  • Hover Card
  • Input
  • Input Group
  • Input OTP
  • Item
  • Kbd
  • Label
  • Marker
  • Menubar
  • Message
  • Native Select
  • Navigation Menu
  • Pagination
  • Popover
  • Progress
  • Radio Group
  • Resizable
  • Scroll Area
  • Select
  • Separator
  • Sheet
  • Sidebar
  • Skeleton
  • Slider
  • Spinner
  • Switch
  • Table
  • Tabs
  • Textarea
  • Toast
  • Toggle
  • Toggle Group
  • Tooltip

Aspect Ratio

Displays content within a desired ratio.

Abstract avatar
1
import { AspectRatio } from "~/components/ui/aspect-ratio";
2
3
export default function AspectRatioDemo() {
4
return (
5
<AspectRatio ratio={16 / 9} class="w-full max-w-sm rounded-lg bg-muted">
6
<img
7
src="https://avatar.vercel.sh/shadcn1"
8
alt="Abstract avatar"
9
class="absolute inset-0 size-full rounded-lg object-cover grayscale dark:brightness-20"
10
/>
11
</AspectRatio>
12
);
13
}

Installation

pnpm dlx shadcn@latest add @zaidan/aspect-ratio
npx shadcn@latest add @zaidan/aspect-ratio
yarn dlx shadcn@latest add @zaidan/aspect-ratio
bunx --bun shadcn@latest add @zaidan/aspect-ratio

Usage

1
import { AspectRatio } from "~/components/ui/aspect-ratio";
1
<AspectRatio ratio={16 / 9}>
2
<img src="..." alt="Example" class="rounded-md object-cover" />
3
</AspectRatio>

Square

A square aspect ratio using ratio={1 / 1} is useful for displaying square images.

Abstract avatar
1
import { AspectRatio } from "~/components/ui/aspect-ratio";
2
3
export default function AspectRatioSquare() {
4
return (
5
<AspectRatio ratio={1 / 1} class="w-full max-w-[12rem] rounded-lg bg-muted">
6
<img
7
src="https://avatar.vercel.sh/shadcn1"
8
alt="Abstract avatar"
9
class="absolute inset-0 size-full rounded-lg object-cover grayscale dark:brightness-20"
10
/>
11
</AspectRatio>
12
);
13
}

Portrait

A portrait aspect ratio using ratio={9 / 16} is useful for displaying portrait images.

Abstract avatar
1
import { AspectRatio } from "~/components/ui/aspect-ratio";
2
3
export default function AspectRatioPortrait() {
4
return (
5
<AspectRatio ratio={9 / 16} class="w-full max-w-[10rem] rounded-lg bg-muted">
6
<img
7
src="https://avatar.vercel.sh/shadcn1"
8
alt="Abstract avatar"
9
class="absolute inset-0 size-full rounded-lg object-cover grayscale dark:brightness-20"
10
/>
11
</AspectRatio>
12
);
13
}

API Reference

AspectRatio

Displays content within a desired ratio.

PropTypeDefaultRequired
rationumber-Yes
classstring-No

On This Page

  • Installation
  • Usage
  • Square
  • Portrait
  • API Reference
    • AspectRatio
Built by Kevin Abatan. The source code is available on GitHub.