T7block
K

Blur Reveal

Blur Reveal

Documentation

Setup: External Scripts

Depsgsap

Step 1: BlurReveal.tsx

BlurReveal.tsx
"use client";

import { useEffect, useRef } from "react";
import gsap from "gsap";
import { ScrollTrigger } from "gsap/ScrollTrigger";

gsap.registerPlugin(ScrollTrigger);

export default function BlurReveal({ children }: { children: React.ReactNode }) {
  const ref = useRef<color: #79c0ff;">style="color: #ff7b72;">HTMLDivElement>(null);

  useEffect(() => {
    gsap.fromTo(ref.current, 
      { filter: "blur(20px)", opacity: 0 },
      { filter: "blur(0px)", opacity: 1, duration: 1.5,
        scrollTrigger: { trigger: ref.current, start: "top 80%", end: "top 20%", scrub: true }
      }
    );
  }, []);

  return <color: #79c0ff;">style="color: #ff7b72;">div color: #79c0ff;">ref={ref}>{children}</color: #79c0ff;">style="color: #ff7b72;">div>;
}

Reveal content smoothly on scroll with a gorgeous blur-to-sharp transition. Perfect for hero sections and image galleries. This blurreveal.tsx implementation provides a robust foundation for building interactive and high-performance user interfaces.

Related resources

Resource details

PublishedDecember 10, 2025
CategoryPremium
revealscrollblurtransition
Oliver Larose
Oliver Larose