Skip to content
Pinky UI

Cinematic Horizontal Gallery

Use for browsing a short, media-led project collection with large cards, variable widths and editorial captions. This is not a narrative horizontal scroll story.

Live example

Try the interaction before reading the recipe.

real component · keyboard-safe

Open plan

Open plan

01 / 04
Shared studio

Shared studio

02 / 04
Quiet room

Quiet room

03 / 04
Long table

Long table

04 / 04

1 / 4

Purpose

Use for browsing a short, media-led project collection with large cards, variable widths and editorial captions. This is not a narrative horizontal scroll story.

Use when

  • A portfolio needs native horizontal browsing and clear item identity.
  • Snap alignment helps the user inspect one project at a time.

Avoid when

  • The content is prose, a table or a long utility list.
  • Horizontal motion would be the only way to reach essential content.

Hover, keyboard and touch

Shift the crop or lift the focused card by a small amount and reveal context, never a generic 10% zoom. Arrow/Home/End and previous/next buttons mirror the rail. Compact layouts use native overflow.

Scroll mapping

Use vertical mapping only for a dedicated art-directed section. It must remain a page-scroll relationship, not a trapped wheel. Reduced motion and touch use the native rail.

Source: packages/skills/layouts/cinematic-horizontal-gallery.md