tilt-3d
A card that tilts in 3D toward the pointer. Part of
motion-anything; obeys MOTION-SPEC.md. Technique
popularized by vanilla-tilt.js, reimplemented dependency-free.
When to use it
- A hero product card, cover image, or a few portfolio thumbnails where depth adds delight.
When NOT to use it (restraint)
- Dense grids — many tilting cards feel chaotic and can induce motion sickness. A few hero cards.
- Text-heavy cards (tilt hurts readability); touch-only contexts (it stays flat automatically).
How to apply
- Copy
tilt-3d.cssandtilt-3d.jsinto the project, and link them. - Mark the card:
<div class="tilt" data-tilt-max="10"> … </div> - Auto-attaches to
.tilt. Keepdata-tilt-maxsmall (8–10). Resets flat onpointerleave.
Accessibility & performance
- Flat under
prefers-reduced-motionand on(hover: none)touch devices. transform: rotateX/rotateY+ a masked glare only — GPU-safe.
Framework notes
- React: call
attachTilt(ref.current)inuseEffect, guarded by the same checks.