Fade Up
Good default for cards, text blocks, and most tidy UI bits.
This page shows every data-reveal preset, plus delay, duration, distance,
easing, and replay behaviour. It’s built to feel a bit more showroom than spreadsheet.
Each card below is using one of the supported presets. Delays are handled per item, which fits nicely with your PHP-driven approach for row resets.
Good default for cards, text blocks, and most tidy UI bits.
Useful for sticky bars, nav elements, or content arriving from above.
Starts offset to the right, then slides inward with a bit of polish.
Handy for split layouts where one column wants to enter from the side.
Subtle scale-up. Nice for CTAs, icons, and compact panels.
Starts slightly larger, then settles into place with a soft exhale.
Use sparingly. Looks rich, costs more than the transform-only presets.
A mild tilt with motion. Great for editorial blocks or playful accents.
These grouped sections show each preset applied across eight cards so you can see the rhythm, weight, and readability when the animation is used in bulk rather than as a single showroom tile.
Eight cards using data-reveal="fade-up" so you can judge how the preset feels when repeated across a row-based layout.
The sensible default for cards and content blocks. Card 1 lets you see the preset repeated in a real row instead of a one-off sample.
The sensible default for cards and content blocks. Card 2 lets you see the preset repeated in a real row instead of a one-off sample.
The sensible default for cards and content blocks. Card 3 lets you see the preset repeated in a real row instead of a one-off sample.
The sensible default for cards and content blocks. Card 4 lets you see the preset repeated in a real row instead of a one-off sample.
The sensible default for cards and content blocks. Card 5 lets you see the preset repeated in a real row instead of a one-off sample.
The sensible default for cards and content blocks. Card 6 lets you see the preset repeated in a real row instead of a one-off sample.
The sensible default for cards and content blocks. Card 7 lets you see the preset repeated in a real row instead of a one-off sample.
The sensible default for cards and content blocks. Card 8 lets you see the preset repeated in a real row instead of a one-off sample.
Eight cards using data-reveal="fade-down" so you can judge how the preset feels when repeated across a row-based layout.
Good for bars, nav, and anything arriving from above. Card 1 lets you see the preset repeated in a real row instead of a one-off sample.
Good for bars, nav, and anything arriving from above. Card 2 lets you see the preset repeated in a real row instead of a one-off sample.
Good for bars, nav, and anything arriving from above. Card 3 lets you see the preset repeated in a real row instead of a one-off sample.
Good for bars, nav, and anything arriving from above. Card 4 lets you see the preset repeated in a real row instead of a one-off sample.
Good for bars, nav, and anything arriving from above. Card 5 lets you see the preset repeated in a real row instead of a one-off sample.
Good for bars, nav, and anything arriving from above. Card 6 lets you see the preset repeated in a real row instead of a one-off sample.
Good for bars, nav, and anything arriving from above. Card 7 lets you see the preset repeated in a real row instead of a one-off sample.
Good for bars, nav, and anything arriving from above. Card 8 lets you see the preset repeated in a real row instead of a one-off sample.
Eight cards using data-reveal="fade-left" so you can judge how the preset feels when repeated across a row-based layout.
Useful when a layout wants a side entry with restraint. Card 1 lets you see the preset repeated in a real row instead of a one-off sample.
Useful when a layout wants a side entry with restraint. Card 2 lets you see the preset repeated in a real row instead of a one-off sample.
Useful when a layout wants a side entry with restraint. Card 3 lets you see the preset repeated in a real row instead of a one-off sample.
Useful when a layout wants a side entry with restraint. Card 4 lets you see the preset repeated in a real row instead of a one-off sample.
Useful when a layout wants a side entry with restraint. Card 5 lets you see the preset repeated in a real row instead of a one-off sample.
Useful when a layout wants a side entry with restraint. Card 6 lets you see the preset repeated in a real row instead of a one-off sample.
Useful when a layout wants a side entry with restraint. Card 7 lets you see the preset repeated in a real row instead of a one-off sample.
Useful when a layout wants a side entry with restraint. Card 8 lets you see the preset repeated in a real row instead of a one-off sample.
Eight cards using data-reveal="fade-right" so you can judge how the preset feels when repeated across a row-based layout.
Works nicely for split layouts and secondary panels. Card 1 lets you see the preset repeated in a real row instead of a one-off sample.
Works nicely for split layouts and secondary panels. Card 2 lets you see the preset repeated in a real row instead of a one-off sample.
Works nicely for split layouts and secondary panels. Card 3 lets you see the preset repeated in a real row instead of a one-off sample.
Works nicely for split layouts and secondary panels. Card 4 lets you see the preset repeated in a real row instead of a one-off sample.
Works nicely for split layouts and secondary panels. Card 5 lets you see the preset repeated in a real row instead of a one-off sample.
Works nicely for split layouts and secondary panels. Card 6 lets you see the preset repeated in a real row instead of a one-off sample.
Works nicely for split layouts and secondary panels. Card 7 lets you see the preset repeated in a real row instead of a one-off sample.
Works nicely for split layouts and secondary panels. Card 8 lets you see the preset repeated in a real row instead of a one-off sample.
Eight cards using data-reveal="zoom-in" so you can judge how the preset feels when repeated across a row-based layout.
Compact scale-up for buttons, stats, and cards. Card 1 lets you see the preset repeated in a real row instead of a one-off sample.
Compact scale-up for buttons, stats, and cards. Card 2 lets you see the preset repeated in a real row instead of a one-off sample.
Compact scale-up for buttons, stats, and cards. Card 3 lets you see the preset repeated in a real row instead of a one-off sample.
Compact scale-up for buttons, stats, and cards. Card 4 lets you see the preset repeated in a real row instead of a one-off sample.
Compact scale-up for buttons, stats, and cards. Card 5 lets you see the preset repeated in a real row instead of a one-off sample.
Compact scale-up for buttons, stats, and cards. Card 6 lets you see the preset repeated in a real row instead of a one-off sample.
Compact scale-up for buttons, stats, and cards. Card 7 lets you see the preset repeated in a real row instead of a one-off sample.
Compact scale-up for buttons, stats, and cards. Card 8 lets you see the preset repeated in a real row instead of a one-off sample.
Eight cards using data-reveal="zoom-out" so you can judge how the preset feels when repeated across a row-based layout.
Starts slightly larger and settles into place softly. Card 1 lets you see the preset repeated in a real row instead of a one-off sample.
Starts slightly larger and settles into place softly. Card 2 lets you see the preset repeated in a real row instead of a one-off sample.
Starts slightly larger and settles into place softly. Card 3 lets you see the preset repeated in a real row instead of a one-off sample.
Starts slightly larger and settles into place softly. Card 4 lets you see the preset repeated in a real row instead of a one-off sample.
Starts slightly larger and settles into place softly. Card 5 lets you see the preset repeated in a real row instead of a one-off sample.
Starts slightly larger and settles into place softly. Card 6 lets you see the preset repeated in a real row instead of a one-off sample.
Starts slightly larger and settles into place softly. Card 7 lets you see the preset repeated in a real row instead of a one-off sample.
Starts slightly larger and settles into place softly. Card 8 lets you see the preset repeated in a real row instead of a one-off sample.
Eight cards using data-reveal="blur-up" so you can judge how the preset feels when repeated across a row-based layout.
Richer and heavier, best saved for occasional moments. Card 1 lets you see the preset repeated in a real row instead of a one-off sample.
Richer and heavier, best saved for occasional moments. Card 2 lets you see the preset repeated in a real row instead of a one-off sample.
Richer and heavier, best saved for occasional moments. Card 3 lets you see the preset repeated in a real row instead of a one-off sample.
Richer and heavier, best saved for occasional moments. Card 4 lets you see the preset repeated in a real row instead of a one-off sample.
Richer and heavier, best saved for occasional moments. Card 5 lets you see the preset repeated in a real row instead of a one-off sample.
Richer and heavier, best saved for occasional moments. Card 6 lets you see the preset repeated in a real row instead of a one-off sample.
Richer and heavier, best saved for occasional moments. Card 7 lets you see the preset repeated in a real row instead of a one-off sample.
Richer and heavier, best saved for occasional moments. Card 8 lets you see the preset repeated in a real row instead of a one-off sample.
Eight cards using data-reveal="rotate-soft" so you can judge how the preset feels when repeated across a row-based layout.
A small tilt for editorial sections and playful accents. Card 1 lets you see the preset repeated in a real row instead of a one-off sample.
A small tilt for editorial sections and playful accents. Card 2 lets you see the preset repeated in a real row instead of a one-off sample.
A small tilt for editorial sections and playful accents. Card 3 lets you see the preset repeated in a real row instead of a one-off sample.
A small tilt for editorial sections and playful accents. Card 4 lets you see the preset repeated in a real row instead of a one-off sample.
A small tilt for editorial sections and playful accents. Card 5 lets you see the preset repeated in a real row instead of a one-off sample.
A small tilt for editorial sections and playful accents. Card 6 lets you see the preset repeated in a real row instead of a one-off sample.
A small tilt for editorial sections and playful accents. Card 7 lets you see the preset repeated in a real row instead of a one-off sample.
A small tilt for editorial sections and playful accents. Card 8 lets you see the preset repeated in a real row instead of a one-off sample.
Eight cards using data-reveal="clip-up" so you can judge how the preset feels when repeated across a row-based layout.
A masked reveal that feels crisp and a bit theatrical. Card 1 lets you see the preset repeated in a real row instead of a one-off sample.
A masked reveal that feels crisp and a bit theatrical. Card 2 lets you see the preset repeated in a real row instead of a one-off sample.
A masked reveal that feels crisp and a bit theatrical. Card 3 lets you see the preset repeated in a real row instead of a one-off sample.
A masked reveal that feels crisp and a bit theatrical. Card 4 lets you see the preset repeated in a real row instead of a one-off sample.
A masked reveal that feels crisp and a bit theatrical. Card 5 lets you see the preset repeated in a real row instead of a one-off sample.
A masked reveal that feels crisp and a bit theatrical. Card 6 lets you see the preset repeated in a real row instead of a one-off sample.
A masked reveal that feels crisp and a bit theatrical. Card 7 lets you see the preset repeated in a real row instead of a one-off sample.
A masked reveal that feels crisp and a bit theatrical. Card 8 lets you see the preset repeated in a real row instead of a one-off sample.
These examples show how different values affect the feel. The JS stays tiny while CSS does the heavy lifting.
Snappy for UI atoms, badges, and shorter sections.
data-reveal-duration="380"
The sweet spot for most cards and section intros.
data-reveal-duration="800"
Better for larger feature panels and scenes with more air around them.
data-reveal-duration="1000"
Subtle. Nice for text and components that just need a whisper of motion.
Default territory. Clean and noticeable without making a scene.
Stronger movement. Fine for heroes or larger tiles, but not for every crumb on the page.
These items use data-reveal-once="false" so they animate each time they enter the viewport.
Handy for testers, less handy if overused in real builds.
Scroll down and then back up to trigger this one again.
A touch of tilt on every re-entry.
Heavier effect, so this is more demo candy than daily bread.