Aspect Ratio
A container component to maintain consistent proportions for media and content.
Examples
Video (16:9)
16:9 Content
blade
<x-plume::aspect ratio="video">
<div class="w-full h-full bg-primary/10 flex items-center justify-center text-primary font-bold">
16:9 Content
</div>
</x-plume::aspect>
Square (1:1)
blade
<x-plume::aspect ratio="square">
<img src="https://images.unsplash.com/photo-1470071459604-3b5ec3a7fe05?ixlib=rb-4.0.3&auto=format&fit=crop&w=400&q=80"
alt="Square image" class="w-full h-full object-cover">
</x-plume::aspect>
Custom Ratio (21:9)
21:9 Ultrawide
blade
<x-plume::aspect ratio="21/9">
<div
class="w-full h-full bg-secondary/60 flex items-center justify-center text-secondary-foreground font-bold border-2 border-dashed border-secondary/30">
21:9 Ultrawide
</div>
</x-plume::aspect>
| Prop | Type | Default | Description |
|---|---|---|---|
| ratio | string | 'video' | The aspect ratio: 'square' (1:1), 'video' (16:9), 'standard' (4:3), 'portrait' (3:4), 'cinema' (21:9), 'vertical' (9:16). Supports both '4/3' and '4:3' notations. |
Usage
blade
<x-plume::aspect ratio="16/9">
<img src="image.jpg" class="w-full h-full object-cover" />
</x-plume::aspect>