<link rel="stylesheet" href="io.css">
Scroll-linked motion
These don't just trigger once — they track your scroll. The effect progresses as the element moves toward the centre of the screen. Scroll slowly to feel it.
io-scrub io-fade io-slide-leftio-scrub io-scrub-colorio-scrub io-fade io-zoom-inio-scrub io-fade io-blur io-slide-upio-scrub io-scrub-underlineio-scrub io-scrub-charsio-scrub io-scrub-chars io-fade io-slide-leftio-scrub io-scrub-words io-fade io-slide-rightio-scrub io-scrub-colorize · --io-color-from/--io-color-toio-scrub io-scrub-chars io-scrub-colorize io-slide-upBuild your motion
Toggle classes, watch it play, copy the result. This is the whole library — composed live.
io io-fade io-slide-up io-reveal<div class="io io-fade io-slide-up io-reveal">…</div>The motion gallery
Hover or click a card to play it. Each card shows exactly what to import.
Designed to move
io-words · data-io-effect="io-fade io-slide-up"Character by character
io-chars · data-io-effect="io-fade io-blur"io-gradient-textio-gradient-text io-grad-sunsetstyle="--io-grad-1:#22d3ee; --io-grad-2:#a855f7"io-shimmer-textio-underlineio-confettiio-bg-panio-path io-path-move io-path-waveA trigger decides WHEN a motion plays. Combine any trigger with any effect & speed.
Speed is just a class: io-100 … io-2000 (ms). Hover a card to replay it at that speed.
Semantic aliases: io-instant · io-fast · io-normal · io-slow · io-slower. Continuous text: io-text-slow/normal/fast.
The timing curve changes the feel of a motion. Same slide-up, different easing — hover to compare.
Gradient-text palettes you can drop in. Each is a class you add next to io-gradient-text.
Custom colors
No palette fits? Set your own 2–3 colors with CSS variables. Speed is independent: io-text-slow/normal/fast.
<span class="io-gradient-text" style="--io-grad-1:#22d3ee; --io-grad-2:#a855f7; --io-grad-3:#f43f5e">Text</span>--io-grad-3 is optional — two colors also work. Same variables apply to kinetic text via data-io-effect.
Shimmer colors
The light-sweep effect takes its own two colors.
<span class="io-shimmer-text" style="--io-shimmer-base:#1e3a8a; --io-shimmer-hi:#7dd3fc">Text</span>Tailor your own motion — stack these onto any effect: distance, easing, delay and stagger.