StealThis .dev

Museum — Gallery Wall / Salon Hang

A curatorial salon-hang gallery wall where framed works on paper sit in a balanced, spanning CSS grid against quiet wall space. Hovering lifts a single frame and dims its neighbours; clicking opens a typeset museum label with catalogue number, medium, dimensions and credit line. A layout toggle swaps the dense salon massing for an eye-level single line hung to a common centre rail, with refined serif typography and soft gallery lighting.

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

Code

A wall surface for displaying framed artworks the way a gallery actually hangs them. In the default salon hang, nine fictional works on paper — etchings, lithographs, a mezzotint, watercolours — are massed across a six-column CSS grid, each frame spanning a different number of columns and rows so the wall reads as a balanced composition rather than an even strip. Mats, thin keylines and soft drop shadows give each piece the feel of being framed and lit.

Hovering any frame lifts it forward and gently dims its neighbours, focusing the eye the way directional gallery lighting would. Clicking a frame opens a typeset museum label popover with the catalogue number, artist, date, medium, dimensions, credit line and a short curatorial note. The popover traps focus, closes on Escape or backdrop click, and returns focus to the frame you came from.

A header toggle switches between the salon massing and a single eye-level line, where the same works are re-hung to a common centre rail — the convention for a focused, museum-style row. Everything is vanilla HTML, CSS and JavaScript: refined serif display type for titles, a quiet sans for UI, inline SVG plates for the imagery, a small toast() helper, and a responsive layout that collapses gracefully down to ~360px.

Illustrative UI only — demo data; not a real museum system.