StealThis .dev

Wedding — Photo Gallery Lightbox

An editorial blush-and-gold wedding gallery with a masonry-style grid of ceremony, portrait and reception photographs that expand into a full-screen lightbox. Click any frame to view it large with an elegant caption, moment badge, live counter and thumbnail filmstrip. Navigate with previous and next buttons, arrow keys, Escape to close, or filter the collection by moment — all wrapped in airy serifs and thin gold rules.

Open in Lab
html css vanilla-js
Targets: JS HTML

Code

A romantic, editorial photo gallery for a wedding site. The grid mixes portrait and landscape frames in a light masonry rhythm, each tile softened with a blush overlay, a gold-hairline border and a moment badge (Ceremony, Portraits, Reception, Details). A filter row above the grid lets guests narrow the collection to a single chapter of the day, with a live count of how many photographs are showing.

Clicking any frame opens a full-screen lightbox: the image is centered on a dimmed cream backdrop with a serif caption, the moment badge, and a counter such as “4 / 12”. A thumbnail filmstrip along the bottom mirrors the active photo and lets you jump directly to any shot. Previous and next controls glide between images, and the whole experience is keyboard-friendly — arrow keys move through the set, Escape closes the view, and focus returns to the frame you opened.

The interaction layer is vanilla JavaScript: filtering rebuilds the visible set, the lightbox reads captions and badges from the DOM, and a small toast confirms actions like copying a share link. Everything is responsive down to about 360px, where the grid collapses to a single column and the filmstrip scrolls horizontally, keeping the airy blush-and-gold aesthetic intact on any screen.