Skip to content
Studio

Motion with restraint

  • gsap
  • motion

Movement must carry meaning. A page that animates every card teaches the reader nothing.

How the reveal works

Add data-reveal to an element. The script in src/scripts/reveal.ts fades the element in when it enters the viewport.

Add data-reveal-group to a parent. The children then appear one after another with a small delay.

The safety rule

The script reads prefers-reduced-motion. When the visitor sets that flag, the script shows the content at once and runs no animation.

Back to the journal