StealThis .dev
Pages Medium

Photography — Portfolio Gallery

A gallery-dark, image-first portfolio with category chips, a CSS-columns masonry of fifteen-plus full-bleed photographs, and a keyboard-friendly lightbox that steps through the filtered set with caption, counter, and smooth fade-and-scale transitions.

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

Code

A dark, editorial portfolio for a fictional photographer. The header pairs a Fraunces display wordmark with thin uppercase labels, and a row of filter chips lets visitors narrow the grid by discipline: Weddings, Portraits, Products, and Travel. Selecting a chip animates the non-matching frames out with a subtle fade-and-scale while the survivors settle into a fresh CSS-columns masonry layout.

The masonry holds fifteen-plus photographs at natural aspect ratios, each with a hover overlay that surfaces the title, location, and a category badge. Clicking any frame opens a full-screen lightbox with the active image, a caption block, a live counter, and previous/next controls that only traverse the currently filtered set.

The lightbox is fully keyboard driven — arrow keys move between shots, Escape closes, and focus returns to the frame you opened it from. A small toast confirms filter changes, and everything degrades gracefully down to a single column at 360px.