Web Dev Academy Animation & scroll · AOS Tool 28 / 64
Animation & scroll

AOS

"Animate On Scroll" — a tiny, zero-JavaScript-needed library. You add a single data-aos attribute to any element and it animates the moment it scrolls into view. All demos use the real AOS.

Demo 01

One attribute, instant reveals

Every card below has a different data-aos type. Scroll the panel — AOS detects when each crosses into view and plays its entrance. Scroll back up and they reset.

↓ scroll down ↓

Fade up

data-aos="fade-up"

The default workhorse — rises and fades in.

Fade right

data-aos="fade-right"

Slides in from the left edge.

Zoom in

data-aos="zoom-in"

Scales up from small to full size.

Flip up

data-aos="flip-up"

Rotates in on the X axis like a flipping card.

Fade left

data-aos="fade-left"

Slides in from the right edge.

Zoom in up

data-aos="zoom-in-up"

Combines a scale and an upward slide.

↑ scroll back up to replay ↑
<!-- markup is all you write -->
<div data-aos="fade-up">Hello</div>

// once, on load:
AOS.init({ duration: 700, easing: "ease-out-cubic" });
Demo 02

Staggered grid with data-aos-delay

Add an increasing data-aos-delay to neighbouring elements and they cascade in one after another. Scroll this grid into view.

↓ scroll to the grid ↓
1
2
3
4
5
6
↑ scroll up to replay ↑
Demo 03

Live config & refresh

AOS reads global options like duration and easing. Pick settings, then re-init — scroll the first demo again to feel the change.

After applying, scroll the cards in Demo 01 back into view to see the new timing.

i
Built with the real AOS 2.3.4 (Animate On Scroll), loaded as CSS + JS from cdn.jsdelivr.net/npm/aos and started with AOS.init(). Every reveal is driven by genuine data-aos attributes — no custom animation code. Because AOS watches a scroll container, the demos live inside scrollable panels. Page chrome is the shared CSS shell.

↑ All 64 tools