StealThis .dev
Pages Easy

Storybook — Bookshelf Browse

A cozy children's library where colorful storybooks line wooden shelves drawn entirely in CSS. Every cover is an inline-SVG illustration — foxes, whales, comets, and cloud-ships — and hovering pulls a book forward off its plank. Category tabs sort the shelves into Animals, Bedtime, and Adventure, a live search filters by title or author, and tapping a cover opens a friendly detail card with the blurb, recommended ages, read time, star rating, a Read button, and favorites. An easy-read font toggle makes the whole page more legible.

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

Code

Bookshelf Browse

A warm, round-cornered storybook library built for little hands. Wooden shelves are drawn purely in CSS — planks, grain, and soft shadows — and each one holds a responsive grid of book covers. Every cover is its own inline SVG: a brave fox, a forgetful whale, a sleepy comet, a banana-flag sky-ship. Hovering or focusing a book gently lifts it forward off the shelf with a springy bounce, and a heart badge pops onto any title you have favorited.

The header carries a friendly search box that filters every shelf in real time by story title or author, plus four big pill tabs — All Stories, Animals, Bedtime, and Adventure — that are fully keyboard-navigable with the arrow keys. Picking a category regroups the books into the right wooden shelves, and an empty state appears with an encouraging message when nothing matches. Tapping any cover opens a modal detail card showing the cover art, a short blurb, recommended ages, an estimated read time, a star rating, a Read this story button, and an Add to favorites toggle. The dialog traps focus, closes on Escape or backdrop click, and returns focus to the book you came from.

An easy-read font toggle in the header switches the body to a more legible typeface with extra letter and word spacing, helping early and dyslexic readers. The layout collapses gracefully to a single-column shelf and a stacked detail card down to 360px, large touch targets stay at least 48px, motion respects prefers-reduced-motion, and a small toast confirms each action.

Illustrative kids’ UI only — fictional stories, characters, and audio.