Move foreground and background at different speeds.
When to use it Suggest depth in decorative imagery
Instruction
Implement this treatment. Parallax. Move foreground and background at different speeds. Suggest depth in decorative imagery. Specify the target and trigger. For scroll-linked motion, use the element’s page position and scroll distance, and reverse when scrolling up. Keep essential text readable. Support 320px screens and keyboard controls. Show the completed static view with reduced motion.
Implement this treatment. Scroll zoom. Scale an image with scroll progress. Draw attention to an image detail. Specify the target and trigger. For scroll-linked motion, use the element’s page position and scroll distance, and reverse when scrolling up. Keep essential text readable. Support 320px screens and keyboard controls. Show the completed static view with reduced motion.
Implement this treatment. Image sequence. Swap ordered frames with scroll progress. Show a shape changing in stages. Specify the target and trigger. For scroll-linked motion, use the element’s page position and scroll distance, and reverse when scrolling up. Keep essential text readable. Support 320px screens and keyboard controls. Show the completed static view with reduced motion.
Implement this treatment. Fade-in. Appear gradually from transparent. Introduce an element gently. Specify the target and trigger. For scroll-linked motion, use the element’s page position and scroll distance, and reverse when scrolling up. Keep essential text readable. Support 320px screens and keyboard controls. Show the completed static view with reduced motion.
Implement this treatment. Slide-in. Move into view from an offset position. Show where an element enters. Specify the target and trigger. For scroll-linked motion, use the element’s page position and scroll distance, and reverse when scrolling up. Keep essential text readable. Support 320px screens and keyboard controls. Show the completed static view with reduced motion.
Implement this treatment. Stagger. Reveal several elements with delays. Show the order of items. Specify the target and trigger. For scroll-linked motion, use the element’s page position and scroll distance, and reverse when scrolling up. Keep essential text readable. Support 320px screens and keyboard controls. Show the completed static view with reduced motion.
Implement this treatment. Text reveal. Reveal a line upward through a clipped area. Introduce a short heading. Specify the target and trigger. For scroll-linked motion, use the element’s page position and scroll distance, and reverse when scrolling up. Keep essential text readable. Support 320px screens and keyboard controls. Show the completed static view with reduced motion.
Implement this treatment. Mask reveal. Expand a visible region to reveal content. Introduce an illustration or photo. Specify the target and trigger. For scroll-linked motion, use the element’s page position and scroll distance, and reverse when scrolling up. Keep essential text readable. Support 320px screens and keyboard controls. Show the completed static view with reduced motion.
Implement this treatment. Blur-in. Change from blurred to sharp. Add a short entrance effect. Specify the target and trigger. For scroll-linked motion, use the element’s page position and scroll distance, and reverse when scrolling up. Keep essential text readable. Support 320px screens and keyboard controls. Show the completed static view with reduced motion.
Implement this treatment. Typewriter. Show text one character at a time. Reveal a short message gradually. Specify the target and trigger. For scroll-linked motion, use the element’s page position and scroll distance, and reverse when scrolling up. Keep essential text readable. Support 320px screens and keyboard controls. Show the completed static view with reduced motion.
Implement this treatment. Count-up. Increase a number to its final value. Emphasize a numerical result. Specify the target and trigger. For scroll-linked motion, use the element’s page position and scroll distance, and reverse when scrolling up. Keep essential text readable. Support 320px screens and keyboard controls. Show the completed static view with reduced motion.
When to use it Show reading position in a progress bar
Instruction
Implement this treatment. Scroll-linked animation. Change the display with scroll progress. Show reading position in a progress bar. Specify the target and trigger. For scroll-linked motion, use the element’s page position and scroll distance, and reverse when scrolling up. Keep essential text readable. Support 320px screens and keyboard controls. Show the completed static view with reduced motion.
When to use it Keep an illustration beside scrolling text
Instruction
Implement this treatment. Sticky. Keep an element in position within its container. Keep an illustration beside scrolling text. Specify the target and trigger. For scroll-linked motion, use the element’s page position and scroll distance, and reverse when scrolling up. Keep essential text readable. Support 320px screens and keyboard controls. Show the completed static view with reduced motion.
Implement this treatment. Scroll snap. Align to a section after scrolling. Compare cards one at a time. Specify the target and trigger. For scroll-linked motion, use the element’s page position and scroll distance, and reverse when scrolling up. Keep essential text readable. Support 320px screens and keyboard controls. Show the completed static view with reduced motion.
Implement this treatment. SVG line draw. Draw a path progressively from its start. Show a route or connection. Specify the target and trigger. For scroll-linked motion, use the element’s page position and scroll distance, and reverse when scrolling up. Keep essential text readable. Support 320px screens and keyboard controls. Show the completed static view with reduced motion.
Implement this treatment. Marquee. Move a line of text horizontally. Repeat short decorative words. Specify the target and trigger. For scroll-linked motion, use the element’s page position and scroll distance, and reverse when scrolling up. Keep essential text readable. Support 320px screens and keyboard controls. Show the completed static view with reduced motion.
Implement this treatment. Scale-in. Grow an element into view. Introduce a card. Specify the target and trigger. For scroll-linked motion, use the element’s page position and scroll distance, and reverse when scrolling up. Keep essential text readable. Support 320px screens and keyboard controls. Show the completed static view with reduced motion.
Implement this treatment. Rotate-in. An angled element rotates into view. Introduce a small decoration. Specify the target and trigger. For scroll-linked motion, use the element’s page position and scroll distance, and reverse when scrolling up. Keep essential text readable. Support 320px screens and keyboard controls. Show the completed static view with reduced motion.
Implement this treatment. 3D flip. Rotate a card around an axis in depth. Show a change in orientation. Specify the target and trigger. For scroll-linked motion, use the element’s page position and scroll distance, and reverse when scrolling up. Keep essential text readable. Support 320px screens and keyboard controls. Show the completed static view with reduced motion.
Implement this treatment. Circular reveal. Expand a circular window to reveal content. Reveal an image from its center. Specify the target and trigger. For scroll-linked motion, use the element’s page position and scroll distance, and reverse when scrolling up. Keep essential text readable. Support 320px screens and keyboard controls. Show the completed static view with reduced motion.
Implement this treatment. Text fill. Fill the inside of letters progressively. Show progress in a short heading. Specify the target and trigger. For scroll-linked motion, use the element’s page position and scroll distance, and reverse when scrolling up. Keep essential text readable. Support 320px screens and keyboard controls. Show the completed static view with reduced motion.
Implement this treatment. Motion path. Move an element along a defined path. Illustrate a route or process. Specify the target and trigger. For scroll-linked motion, use the element’s page position and scroll distance, and reverse when scrolling up. Keep essential text readable. Support 320px screens and keyboard controls. Show the completed static view with reduced motion.
Implement this treatment. Shape morphing. Move vertices to change a shape. Show correspondence between shapes. Specify the target and trigger. For scroll-linked motion, use the element’s page position and scroll distance, and reverse when scrolling up. Keep essential text readable. Support 320px screens and keyboard controls. Show the completed static view with reduced motion.
Implement this treatment. Color transition. Change a background gradually between colors. Indicate a section change. Specify the target and trigger. For scroll-linked motion, use the element’s page position and scroll distance, and reverse when scrolling up. Keep essential text readable. Support 320px screens and keyboard controls. Show the completed static view with reduced motion.
Implement this treatment. Hover lift. Lift an element on hover or focus. Indicate an actionable target. Specify the target and trigger. For scroll-linked motion, use the element’s page position and scroll distance, and reverse when scrolling up. Keep essential text readable. Support 320px screens and keyboard controls. Show the completed static view with reduced motion.
Implement this treatment. Focus ring. Outline the currently focused control. Show the keyboard position. Specify the target and trigger. For scroll-linked motion, use the element’s page position and scroll distance, and reverse when scrolling up. Keep essential text readable. Support 320px screens and keyboard controls. Show the completed static view with reduced motion.
When to use it Read supporting information on demand
Instruction
Implement this treatment. Accordion. Open or close content through its heading. Read supporting information on demand. Specify the target and trigger. For scroll-linked motion, use the element’s page position and scroll distance, and reverse when scrolling up. Keep essential text readable. Support 320px screens and keyboard controls. Show the completed static view with reduced motion.
Switch to the panel associated with a selected heading.
When to use it Compare content in one place
Instruction
Implement this treatment. Tabs. Switch to the panel associated with a selected heading. Compare content in one place. Specify the target and trigger. For scroll-linked motion, use the element’s page position and scroll distance, and reverse when scrolling up. Keep essential text readable. Support 320px screens and keyboard controls. Show the completed static view with reduced motion.
Implement this treatment. Grid. Align items in rows and columns. Compare similar items. Specify the target and trigger. For scroll-linked motion, use the element’s page position and scroll distance, and reverse when scrolling up. Keep essential text readable. Support 320px screens and keyboard controls. Show the completed static view with reduced motion.
Implement this treatment. Bento grid. Combine large and small cells. Vary space by feature. Specify the target and trigger. For scroll-linked motion, use the element’s page position and scroll distance, and reverse when scrolling up. Keep essential text readable. Support 320px screens and keyboard controls. Show the completed static view with reduced motion.
When to use it Compare explanation and illustration
Instruction
Implement this treatment. Split screen. Divide the view into two panels. Compare explanation and illustration. Specify the target and trigger. For scroll-linked motion, use the element’s page position and scroll distance, and reverse when scrolling up. Keep essential text readable. Support 320px screens and keyboard controls. Show the completed static view with reduced motion.
Implement this treatment. Asymmetric layout. Use unequal widths and positions. Emphasize one element. Specify the target and trigger. For scroll-linked motion, use the element’s page position and scroll distance, and reverse when scrolling up. Keep essential text readable. Support 320px screens and keyboard controls. Show the completed static view with reduced motion.
Implement this treatment. Whitespace. Leave space around elements. Separate groups of information. Specify the target and trigger. For scroll-linked motion, use the element’s page position and scroll distance, and reverse when scrolling up. Keep essential text readable. Support 320px screens and keyboard controls. Show the completed static view with reduced motion.
Implement this treatment. Editorial layout. Combine a large headline with columns. Guide reading order. Specify the target and trigger. For scroll-linked motion, use the element’s page position and scroll distance, and reverse when scrolling up. Keep essential text readable. Support 320px screens and keyboard controls. Show the completed static view with reduced motion.
Implement this treatment. Masonry layout. Stack items of different heights. Compare a gallery of images. Specify the target and trigger. For scroll-linked motion, use the element’s page position and scroll distance, and reverse when scrolling up. Keep essential text readable. Support 320px screens and keyboard controls. Show the completed static view with reduced motion.
When to use it Relate primary and supporting content
Instruction
Implement this treatment. Overlapping layout. Place elements in overlapping layers. Relate primary and supporting content. Specify the target and trigger. For scroll-linked motion, use the element’s page position and scroll distance, and reverse when scrolling up. Keep essential text readable. Support 320px screens and keyboard controls. Show the completed static view with reduced motion.
Implement this treatment. Full-bleed layout. Extend an image or background to the edges. Emphasize an image. Specify the target and trigger. For scroll-linked motion, use the element’s page position and scroll distance, and reverse when scrolling up. Keep essential text readable. Support 320px screens and keyboard controls. Show the completed static view with reduced motion.
Implement this treatment. Card layout. Group related information in individual cards. Make item boundaries clear. Specify the target and trigger. For scroll-linked motion, use the element’s page position and scroll distance, and reverse when scrolling up. Keep essential text readable. Support 320px screens and keyboard controls. Show the completed static view with reduced motion.
Implement this treatment. Glassmorphism. Blur the background behind a translucent panel. Overlay a secondary panel. Specify the target and trigger. For scroll-linked motion, use the element’s page position and scroll distance, and reverse when scrolling up. Keep essential text readable. Support 320px screens and keyboard controls. Show the completed static view with reduced motion.
Implement this treatment. Neumorphism. Use light and dark shadows to suggest relief. Give a decorative panel soft depth. Specify the target and trigger. For scroll-linked motion, use the element’s page position and scroll distance, and reverse when scrolling up. Keep essential text readable. Support 320px screens and keyboard controls. Show the completed static view with reduced motion.
Implement this treatment. Neo-brutalism. Use thick outlines and offset shadows. Create strong visual separation. Specify the target and trigger. For scroll-linked motion, use the element’s page position and scroll distance, and reverse when scrolling up. Keep essential text readable. Support 320px screens and keyboard controls. Show the completed static view with reduced motion.
When to use it Add color variation to a background
Instruction
Implement this treatment. Gradient. Blend colors continuously. Add color variation to a background. Specify the target and trigger. For scroll-linked motion, use the element’s page position and scroll distance, and reverse when scrolling up. Keep essential text readable. Support 320px screens and keyboard controls. Show the completed static view with reduced motion.
When to use it Unify the color treatment of imagery
Instruction
Implement this treatment. Duotone. Map dark and light areas to two colors. Unify the color treatment of imagery. Specify the target and trigger. For scroll-linked motion, use the element’s page position and scroll distance, and reverse when scrolling up. Keep essential text readable. Support 320px screens and keyboard controls. Show the completed static view with reduced motion.
Implement this treatment. Outline typography. Draw only the outline of letters. Create a short decorative heading. Specify the target and trigger. For scroll-linked motion, use the element’s page position and scroll distance, and reverse when scrolling up. Keep essential text readable. Support 320px screens and keyboard controls. Show the completed static view with reduced motion.
Implement this treatment. Soft shadow. Use a blurred shadow to suggest elevation. Distinguish an actionable surface. Specify the target and trigger. For scroll-linked motion, use the element’s page position and scroll distance, and reverse when scrolling up. Keep essential text readable. Support 320px screens and keyboard controls. Show the completed static view with reduced motion.
Implement this treatment. Grain texture. Add fine particles to a surface. Soften a flat background. Specify the target and trigger. For scroll-linked motion, use the element’s page position and scroll distance, and reverse when scrolling up. Keep essential text readable. Support 320px screens and keyboard controls. Show the completed static view with reduced motion.
Implement this treatment. Mesh gradient. Blend several colors across a surface. Create a broad color field. Specify the target and trigger. For scroll-linked motion, use the element’s page position and scroll distance, and reverse when scrolling up. Keep essential text readable. Support 320px screens and keyboard controls. Show the completed static view with reduced motion.
Implement this treatment. Halftone. Use a pattern of dots to suggest tones. Create a print-like texture. Specify the target and trigger. For scroll-linked motion, use the element’s page position and scroll distance, and reverse when scrolling up. Keep essential text readable. Support 320px screens and keyboard controls. Show the completed static view with reduced motion.
Using the terms
Add conditions to the name
Distance, duration and direction change the result. Specify the element, action, trigger, amount, duration and repetition. Check narrow screens and reduced motion after implementation.
Informal design names may have no single standard definition. Each description and example explains the meaning used here.
Keep content readable
Maintain text contrast and recognizable controls when adding surface effects. Keep motion brief, keep content available, and provide a stop control. Offer a static view for parallax and zoom.
Original examples and reuse
These demos use fictional content and original shapes. Explanations and instructions are included in HTML. Demo HTML, CSS and JS are available under MIT, separately from the rest of the site.