Limited-time offerLifetime $349 $199left
← Back to 3D designs
landing pagethree.jsphysics

Book Row — 3D Bookshop Landing Page

Bookshop landing page in one HTML file: sixteen 3D books with generated covers that lift on hover and line up into a shelf on scroll.

A complete, scrollable bookshop landing page with the 3D built into it: sixteen 3D books with generated covers that lift on hover and line up into a shelf on scroll. It is one self-contained HTML file, built entirely in code, with no image files, no 3D models and no build step. Under the hood: Three.js, canvas-generated covers in five layouts, raycast hover with spring motion, row-to-shelf scroll transition, soft shadows. What a visitor can do: hover a book to pull it out, click to open its page, scroll to tidy the shelf, 4 presets (Noir, Paper, Forest, Oxblood). Best for: Bookshops and publishers, libraries and reading apps, magazines, course and e-book catalogues. Three.js loads from a CDN through an import map and the type (Inter, Newsreader) from Google Fonts, so there is still nothing to install. The page is real HTML — a navigation bar, a full-height hero, content sections, a call to action and a footer — so the brand name, headlines and cards are edited as plain text. Colours, counts and speeds sit in a CONFIG block and a PRESETS array, colour themes restyle the page and the 3D together from a small swatch pill, ?embed hides the pill and ?tour scrolls the page by itself.

How to run this

Nothing to install and nothing to configure. Works in any modern browser on Windows, macOS and Linux.

Built with
Single HTML file
Requires
A modern browser
  1. 1. Unzip the download.
  2. 2. Double-click index.html. It opens in your browser and runs. To serve it instead (the microphone and some browsers want a server), run npx serve . in the folder and open http://localhost:3000.

Note — Three.js loads from the jsDelivr CDN through an import map, so the first load needs an internet connection. Its typefaces load from Google Fonts, with system fallbacks if they cannot. It is a full landing page: upload index.html to any static host and it is live. Add ?embed to hide the theme pill, ?preset=N to start on a colour theme, and ?tour to scroll the page automatically.