About this set
A horizontal timeline of image cards that scrolls sideways along a dated rail, built for a company history, a studio story or a product’s milestones where each moment deserves a picture. Every entry is a fixed 236 pixel column with the year above a ring on the rail and a card underneath holding an image area, a heading and one line of text. The demo uses gradients in place of photos so it loads without assets; swap the gradient for a background image or an img element. The entries are an ordered list inside a scroll container that uses CSS scroll snap, so a flick or a trackpad swipe settles each card in the centre. Because the container scrolls, it is a focusable region with a label, which means keyboard users can Tab to it and move through the years with the arrow keys, and the page itself never scrolls sideways on a phone. The scrollbar is restyled in WebKit and Chromium and falls back to the system one elsewhere. The Bootstrap version builds the cards from the .card component, and the Tailwind version uses snap-x, snap-center and before: utilities for the rail and the rings.
What’s included
- Ordered list of image cards on a dated rail with a ring per entry
- Scroll snap centres each card after a swipe
- Focusable, labelled scroll region that works with the arrow keys
- No page overflow at 375px: only the timeline scrolls
- Years marked up with time elements
Accessibility
The scroll container has tabindex="0", role="region" and an aria-label, so it is reachable with Tab, announced by name and scrollable with the arrow keys; it shows a 2px indigo outline on keyboard focus. Entries are an ordered list with real headings, and the rail and rings are CSS decoration that screen readers ignore. Nothing animates.
Customise it
Change --mt-accent, --mt-rail and --mt-muted on .media-tl (plain CSS and Bootstrap) or the --color-mt-* theme colours (Tailwind). Card width is the 236px flex basis on each item and image height is the 118px block.

















