StealThis .dev
Pages Easy

Travel — "Top 10 Places" Listicle

A scannable, shareable travel listicle that ranks ten fictional beaches from one to ten. Each numbered entry leads with a full-bleed CSS gradient hero, an oversized rank badge, a vivid blurb, and a row of quick facts — best for, when to go, and a price tier — plus a mini CSS map chip with coordinates. A sticky ranked nav scroll-jumps between picks and scroll-spies the active one, an add-to-trip heart saves favourites, and a surprise-me button drops you on a random shore.

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

Code

“Top 10 Places” Listicle

A magazine-style countdown of the ten best beaches on Earth, built for skimming. Each entry opens with a numbered, full-bleed hero painted entirely in layered CSS gradients — sunset ambers, volcanic blacks, lagoon turquoises — overprinted with an oversized serif rank that bleeds off the corner. Below it sit a one-line eyebrow, a traveller score in stars, a punchy blurb, and a dashed “quick facts” panel covering what each shore is best for, the best months to visit, and a five-dollar price tier.

A sticky ranked nav on the left lists all ten picks one through ten. Clicking a rank smooth-scrolls to that entry, flashes it, and marks it active; an IntersectionObserver scroll-spy keeps the nav and a thin gradient progress bar in sync as you read, and arrow keys move focus between ranks. Every entry has an add-to-trip heart that toggles and toasts, a mini CSS map chip with fictional coordinates, and a “next” button to walk the countdown.

In the masthead, a Surprise me button jumps you to a random beach and announces which one, while Share uses the Web Share API where available and falls back to copying the link. The three-column facts grid collapses to two then one, the sticky sidebar becomes a horizontal chip row on narrow screens, and the whole layout stays readable down to 360px.

Illustrative travel UI only — fictional destinations, prices, and maps.