Navigation
Reflection Dock
The glossy shelf dock: five tiles standing on a receding glass floor, each mirrored beneath itself with a fading mask; a lift wave rolls along the row every 2.6 s — the reflections sinking as the tiles rise — and the pointer lifts whatever it touches.
csslight complexitymoderate motionhover
Open on the canvas to copy the code → Free account · 3 copies a day · membership goes unlimited
Worth keeping?
Votes steer what gets built next — sign in to cast one, free to read
When to use it
Retro-glossy or skeuomorphic launchers, media shelves, and any dock that wants a sense of a surface under the icons.
When not to
Flat design systems; very short tiles where the reflection would fall off the bottom.
Working with an AI agent
Every component ships agent-ready metadata. An example instruction for this one:
Flatten the floor by lowering rotateX(58deg) on .c17-shelf; strengthen the mirror with --ref-o and the mask's 75% stop; change the wave pace with the 2.6 period and 1.6 pass in loop(); recolour the tiles through --g1…--g5 (each tile's icon and reflection share one gradient). Theme: dark tokens live in :root, the light variant in :root[data-theme="light"]; ?theme=light or a {type:'forever:theme'} postMessage switches at runtime.
Safe to edit
- shelf angle and gradient (.c17-shelf)
- reflection opacity (--ref-o) and mask fade
- lift distance (the ±18px in the transforms)
- wave period and pass length (2.6 / 1.6 in loop())
- tile gradients (--g1…--g5) and size (--sz clamp)
- theme tokens (:root dark defaults + [data-theme=light] overrides)
Keep intact
- one --lift custom property per item driving both the icon and its mirror
- measure() caching centres on load + resize
- mask-image + -webkit-mask-image pair on .c17-ref
- IIFE wrapper
- visibilitychange stop/start of the rAF loop
- prefers-reduced-motion guard (a still lifted pose)
- theme hook (?theme= bootstrap + forever:theme message listener + theme tokens)
Known limitations
- The reflection is a flipped copy, so a tile with text or an image inside needs the copy kept in sync
- Hover-only lift — no touch equivalent; the wave is what mobile visitors see
- Light re-theme via the [data-theme=light] token block; catalog bg/accent describe the dark default
More Navigation components
- Magnify DockmacOS-style frosted-glass dock of six gradient tiles that scale up and lift toward the cursor; idle auto-sweep keeps it animated when untouched.
- Hamburger MorphThree-line hamburger button spring-morphs into a glowing teal X on click; button border gains teal glow when open. Auto-cycles as demo.
- Gooey Tab BarPill-shaped tab bar with a vermillion blob that slides between tabs using a spring easing and SVG goo filter for liquid merge effect on dark surface.
- Radial Fan MenuA core button rotates to an X and fans five glowing stone-toned icon petals outward in a staggered spring arc; auto-cycles open/close as a demo.
- Slide-in DrawerHamburger icon morphs to an X while a side panel slides in over a dark scrim, revealing four nav items with staggered fade-in animations.
- Underline FollowA glowing emerald-to-tan gradient underline slides and resizes to follow hovered nav links; wanders idly across links when unhovered.