Aspect Ratio

AspectRatio - Phlex implementation

Examples

Default

Displays content within a desired aspect ratio.

Photo by Drew Beamer
<div class="w-full max-w-md">
  <%= render "ui/aspect_ratio", ratio: 16.0/9.0 do %>
    <%= image_tag "https://images.unsplash.com/photo-1588345921523-c2dcdb7f1dcd?w=800&dpr=2&q=80",
                  alt: "Photo by Drew Beamer",
                  class: "h-full w-full rounded-lg object-cover" %>
  <% end %>
</div>

Square

Square image with 1:1 ratio.

User avatar
<div class="w-48">
  <%= render "ui/aspect_ratio", ratio: 1.0 do %>
    <%= image_tag "https://images.unsplash.com/photo-1535713875002-d1d0cf377fde?w=300&dpr=2&q=80",
                  alt: "User avatar",
                  class: "h-full w-full object-cover rounded-full" %>
  <% end %>
</div>

Features

  • Custom styling with Tailwind classes

API Reference

Aspect Ratio

Displays content within a desired aspect ratio.

Parameters

NameTypeDefaultDescription
ratioFloat1.0The ratio

Common Ratios Reference

RatioCalculationUse Case
16:916.0/9.0Widescreen videos, modern displays
4:34.0/3.0Traditional TV, older content
1:11.0Square images, avatars
21:921.0/9.0Ultrawide displays, cinematic
9:169.0/16.0Portrait/mobile, stories