StealThis .dev

Dental — Smile Gallery

A trust-first before/after smile gallery for dental clinics: filterable case cards each with a draggable comparison slider that wipes between the before and after photos, a treatment tag, tooth-shade and visit-count meta, and a keyboard-accessible reveal handle. Filter chips narrow cases by treatment — whitening, veneers, aligners, implants — with a live result count, empty state, and soft clinical styling built for reassurance.

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

Code

A clean, clinical before/after smile gallery designed for a dental practice website. Each case is a rounded card with a split-image comparison viewer: drag the center handle (or use the arrow keys) to wipe between the before and after smile. A frosted treatment badge, patient nickname, tooth-shade progression chip, and visit count give every case a real-feeling story, while a subtle gradient stands in for photography so the component stays fully self-contained.

Above the grid, a row of filter chips lets visitors focus on a single treatment — whitening, veneers, clear aligners, bonding, or implants — updating a live “showing N of M” count. Chips are real buttons with visible focus rings and aria-pressed state; selecting one that matches nothing swaps the grid for a friendly empty state. A toast confirms filter changes for screen-reader-free feedback, and the whole layout reflows to a single column with a compact header below 520px.

Interactions are pure vanilla JS: pointer, touch, and keyboard all drive the slider, hover lifts the cards, and the reveal handle animates smoothly with reduced-motion respected. Everything is keyboard-usable and AA-contrast.

Illustrative UI only — not intended for real medical use.