Image FXcssimagelab.com
Scroll · 56 / 56

Scroll Colorize

A hard boundary sweeps down the photo as it scrolls, colorizing it from grayscale top-to-bottom like a scanner.

Image
Green natural landscape

Exports colorize on scroll — the preview runs a continuous demo loop.

Adjust
1.05
70%
Metadata
interaction
On scroll · static fallback
browser
Enhanced — scroll-driven animations
reduced motion
included
touch fallback
Identical on touch
Edit the CSS above — the preview updates live.

About Scroll Colorize

Scroll Colorize sweeps a hard boundary down the photo as it scrolls into view, colorizing it from grayscale top-to-bottom like a scanner head passing over a print. A ::before duplicates the image via --ifx-src as a grayscale layer over the color <img>; scroll progress shrinks its clip-path from full to nothing, revealing color from the top down. Set --ifx-src on the figure to the SAME url() as the img (the generated HTML/React does this). It uses pure-CSS scroll-driven animations gated behind @supports (animation-timeline: view()); browsers without support never paint the grayscale layer and just show the color photo. IMPORTANT: the reduced-motion guard pins clip-path to inset(100% 0 0 0) (fully colorized), NOT animation:none alone — otherwise reduced-motion users would freeze on the grayscale start state. Tune --ifx-sc-contrast and --ifx-sc-range (how far into the scroll it finishes).

Use cases

  • editorial
  • portfolio
  • landing
  • gallery

Browser support

Enhanced — scroll-driven animations. This effect uses an enhanced feature — provide a graceful fallback for older browsers.

Accessibility

  • Essential content is never hidden behind hover.
  • Includes a prefers-reduced-motion fallback.
  • Touch fallback: identical on touch.
  • Keyboard accessible — the effect also triggers on focus-within.