April 8, 2026/Simple/Hover & Reveals

Clip-Path Inset Reveal

An element starts fully clipped with inset() and reveals as it enters the viewport. Clean entrance that feels like content appearing from behind a mask. Driven by scroll progress.

Brand Identity

Visual systems that define who you are.

Web Design

Motion-forward websites that convert.

Branding

Identity systems for ambitious brands.

Portfolio

Showcasing creative work with intention.

import ClipPathInsetReveal from "./index.jsx";
import styles from "./demo.module.css";

const ITEMS = [
  { label: "Brand Identity", image: "/demo-assets/kickandbass.png", description: "Visual systems that define who you are." },
  { label: "Web Design", image: "/demo-assets/westend.png", description: "Motion-forward websites that convert." },
  { label: "Branding", image: "/demo-assets/socialstats.png", description: "Identity systems for ambitious brands." },
  { label: "Portfolio", image: "/demo-assets/keviindavis.png", description: "Showcasing creative work with intention." },
];

export default function ClipPathInsetRevealDemo() {
  return (
    <div>
      {/* Intro — items start below fold so they animate in on scroll */}
      <section className={styles.intro}>
        <p className={styles.introLabel}>Services</p>
        <h2 className={styles.introTitle}>Each item reveals from inset as you scroll it into view.</h2>
      </section>

      {/* Component */}
      <section className={styles.content}>
        <ClipPathInsetReveal items={ITEMS} />
      </section>
    </div>
  );
}
  • framer-motion

Related Components

3MO AGO
Pixelate Imagehover-reveals
3MO AGO
Reveal Grouphover-reveals
3MO AGO
Clip-Path Polygon Card Revealhover-reveals