scroll-animations

Implement CSS scroll-driven animations with scroll() and view() timelines.

Updated Aug 23, 2026
One-click install
npx skills add https://github.com/andersoncollab/design-agent --skill scroll-animations
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: scroll-animations
Source: https://github.com/andersoncollab/design-agent/tree/main/skills/scroll-animations
Command: npx skills add https://github.com/andersoncollab/design-agent --skill scroll-animations

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) components.

What problem does it solve?

Scroll-based animations often cause jank and complex JavaScript scroll handlers; this Skill solves that by using native CSS scroll-driven animations for smoother, more maintainable effects.

Core Features & Use Cases

  • Scroll timeline animation without JS: Build scroll-linked progress and motion using animation-timeline: scroll() and view().
  • Production-ready patterns: Includes animation-range control, parallax, reveal-on-scroll entrances/exits, sticky header effects, and scroll-snap horizontal galleries.
  • Performance and accessibility guardrails: Uses compositor-safe guidance (transform/opacity only) and mandatory prefers-reduced-motion handling with @supports feature detection plus IntersectionObserver fallback.

Quick Start

In your page styles, wrap scroll-driven animation rules in an @supports (animation-timeline: scroll()) block and disable/simplify them for prefers-reduced-motion: reduce.

Frequently Asked Questions about scroll-animations

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I create scroll-driven animations with pure CSS instead of JavaScript?▼

You can create scroll-driven animations with pure CSS by using the native animation-timeline: scroll() and view() properties, which replace JavaScript scroll event handlers to achieve smoother, more maintainable progress bars and reveal-on-scroll effects.

How do I make parallax and reveal-on-scroll effects without hurting page performance?▼

To prevent jank in parallax and reveal-on-scroll effects, restrict animations to compositor-safe properties like transform and opacity, and use native CSS scroll timelines instead of JavaScript scroll listeners.

Does CSS scroll-driven animation work with prefers-reduced-motion accessibility settings?▼

Yes, CSS scroll-driven animations must be disabled or simplified for prefers-reduced-motion: reduce. You should wrap effect rules in @supports (animation-timeline: scroll()) and provide a fallback.

What is the best fallback for CSS animation-timeline: scroll() in unsupported browsers?▼

The best fallback for unsupported animation-timeline: scroll() browsers is using @supports feature detection to load an IntersectionObserver fallback, ensuring reveal-on-scroll entrances and exits still function.

Can I build a horizontal scroll-snap gallery and sticky header shrink effects using CSS scroll timelines?▼

Yes, you can build horizontal scroll-snap galleries and sticky header shrink effects using CSS scroll timelines by configuring animation-range with view() and scroll() to link motion directly to scroll position.