Spotlight Grid

One cursor position drives a radial-gradient inside every card simultaneously — calc() subtracts each card's offset so the glow lands in the right place.

A single mousemove listener writes --gx and --gy (cursor position relative to the grid) onto the grid element. Each card has --cx and --cy (its own offset from the grid top-left) set once by JS. The card's ::before uses radial-gradient at calc(var(--gx) - var(--cx)) calc(var(--gy) - var(--cy)) — pure CSS arithmetic that converts grid-relative coordinates to card-relative coordinates. The glow is clipped to each card by overflow:hidden, and fades in/out via an opacity transition on the ::before as the cursor enters and leaves.

Open the live, editable demo →

Animshelf
MIT · v1.0

MOTION SPECIMEN LIBRARY · 131 SPECIMENS · MIT

Animations
you can take apart.

An open collection of animated effects in pure HTML, CSS, JavaScript and Canvas — text effects, canvas fields, motion — each a specimen you can open, slow down, and make your own.

131
Specimens
5
Techniques
0
Dependencies
MIT
License
SPEC · 001 / SOFT AURORA
CANVAS · 60 FPS · LIVE
REGISTRATION · 16:12
FRAME000000
T0.000s
EASE.22, .61, .36, 1
§ 02
NOW PLAYING

Four specimens, one per technique.

HTML · CSS · JS · CANVAS · WEBGL
§ 03
THE CATALOG

Seven shelves. One hundred and thirty-one specimens & counting.

UPDATED 06 · 2026
§ 04
FIELD GUIDE

How a specimen works.

FOUR STEPS

Every specimen is presented like lab equipment — framed, labelled, and ready to be taken apart.

STEP 01
Open the stage.
Each component sits inside a framed preview viewport with registration ticks, a live frame counter, and the easing curve plotted alongside it.
STAGE
STEP 02
Slow it down.
Step through frames, swap easing, toggle reduced motion. Read the animation the way you’d read a contact sheet.
SCRUB
STEP 03
Read the source.
Every specimen is one self-contained file — HTML markup, a CSS block, and vanilla JavaScript. No framework, no build step, no dependencies.
ONE FILE
STEP 04
Take it home.
Copy the file, drop it in your project, change the props. No CLI, no install, no lock-in. MIT licensed.
MIT