The 404 page's toy. The MAKR logo stands as a stack until the visitor presses "Knock them over" (or moves the pointer onto it): the blocks fall into the topple arrangement like dominoes, each 420 ms on the fold curve, 120 ms apart, with a knock per block when sound is on. "Stack them up" builds it again. The page's own words say what went wrong; the toy only softens it.
Example#
Usage#
Use Topple 404 on the 404 page: the logo stack a visitor can knock over with a key, and stack up again. The page's heading still says plainly that the page was not found.
- The key is a real button whose label changes from "Knock it over" to "Stack them up".
- The fall is a CSS transition; Rave adds an OOF! burst; sound follows the visitor's toggle.
- Share card. The
topplearrangement has SVG and GPU stills for the 404's card.
Layer and volume#
Art beside the page's message. Studio and Press topple; Rave adds an "OOF!" burst. At Quiet and under reduced motion the blocks jump straight to the fallen pose.
Anatomy#
- StackThe logo blocks, each printed from its solid.
.mk-topple-scene - KeyA literal, real button.
.mk-topple-key
Volume#
Quiet
Studio
Press
Rave
Content#
- The heading is literal: "Page not found". The joke goes beside it.
- The key's label says what it does.
Do and don't#
Do
Don't
A 404 page with only the toppled blocks and the word "OOPS!", and no way home.
Fidelities#
CSS 3D (each block printed from its solid, so the faces a fall turns toward you print in the right band). The topple arrangement also exists as an SVG still and a GPU still for the 404's share card.
Performance#
One client leaf (the key, a few hundred bytes); the fall is a CSS transition on the blocks' transforms.
Gating#
None beyond reduced motion and Quiet, which skip the fall. Sound follows the visitor's sound toggle (off by default).
Accessibility#
- The key is a real button with a literal label that changes to "Stack them up" once the blocks are down.
- The stack is
aria-hiddenart; say "Page not found" in the page's heading.
| Keys | What happens |
|---|---|
| EnterorSpace | Knocks the stack over, or stacks it up again |
Props#
| Prop | Type | Default | Description |
|---|---|---|---|
label | string | "Knock them over"; literal, D-I2 | The key's label (default "Knock them over"; literal, D-I2). |
resetLabel | string | "Stack them up" | Once knocked (default "Stack them up"). |
size | number | 40 | Block size, px (default 40). |
className | string | none | |
style | CSSProperties | none |
Tokens#
System tokens (17)
--mk-3d-a-fill--mk-3d-k-fill--mk-3d-key--mk-3d-lead-fill--mk-3d-m-fill--mk-3d-r-fill--mk-3d-shadow--mk-3d-support-fill--mk-3d-wood-fill--mk-dur-topple-fall--mk-dur-topple-step--mk-ease-fold--mk-space-4--mk-volume--mk-w-press--mk-w-rave--mk-w-studio
Its own properties (2)
--mk-3d-print--mk-s
Changelog#
Arrived in 0.9.0.
- Three: the alphabet twins at every fidelity (model, SVG, CSS 3D, GL geometry, physics shapes; Rave's MORE BLOCKS rains them), the
row,topple,twins,stack-1/2/3,line-k/r/a/mandwoodarrangements with their text alternatives, the page objectsCrate,PlanPlate,Slot,SampleCaseandBaseplate,BlockLoader,Topple404,BuildOnScroll, the house camera and an id-colour parity mode in poster frames, the wood grain in GL, specks and Shake, the phone's tap-to-play light rung with "Done", andInkFieldMaterial(the field backdrop in the stage's own canvas). Read the whole entry