Scroll Animations & Parallax Sections

Sticky Product Spotlight

A two-column section where the left column holds a product image that sticks to the viewport while the right column scrolls through benefit copy segments. As each segment enters its scroll range, the copy fades and slides in. The product image scales very subtly across the full scroll for a sense of focus. Built for e-commerce product detail pages, feature highlight sections, and product launch narratives.

Live preview

Loading preview

Requires framer-motion. React 18+ and Tailwind CSS v3+ assumed. Save as StickyProductSpotlight.tsx.

Or rebuild it with a prompt

Paste the prompt into the tool you already use. Each version is written specifically for that tool, matched to the same design constraints so the output stays consistent.

Build components/StickyProductSpotlight.tsx. Client component. Outer containerRef div: height steps.length * 100vh, position relative, backgroundColor prop (default "#D34C1F"), text-white font-sans. Inside: a sticky top-0 h-screen flex flex-col md:flex-row overflow-hidden. Left column (md:w-1/2): flex items-center justify-center p-12. motion.img of the product image: max-w-[75%] max-h-[520px] object-contain drop-shadow-2xl, scale useTransform([0,1],[1.0,1.06]) and y useTransform([0,1],["0%","-8%"]). Right column (md:w-1/2): relative flex items-center px-8 sm:px-16 py-16. For each step i: compute segment [i/n, (i+1)/n], fadeIn = start + 10%, fadeOut = end - 10%. motion.div absolute inset-x-8 with opacity useTransform across the segment and y useTransform from 28 to 0. Content: eyebrow p (12px white/60 tracking-widest mb-3), h2 (36-48px font-semibold tracking-tight max-w-[480px]), body p (15px white/80 mt-5 max-w-[400px]). First step only shows a CTA row (white pill button + ctaLabel, blue #2B65F6 bg). Respect prefers-reduced-motion. Props: image, steps: SpotlightStep[] ({ eyebrow, heading, body }), ctaLabel, ctaHref, backgroundColor. Single default export. Export SpotlightStep type.

How to use this Sticky Product Spotlight as a prompt

  1. Paste the prompt into Claude Code, Cursor, or Google Stitch to build a Sticky Product Spotlight where the React product image sticks while benefit copy cross-fades on scroll.
  2. Best for e-commerce product detail pages, product launch sections, and any feature walkthrough where the image should stay center stage.
  3. Ask Codex or Lovable to change the number of copy segments, swap the background color, or wire the steps prop to a CMS.

How to use this Sticky Product Spotlight as code

  1. Drop the React + Tailwind file into `components/sections/` and pass image, steps, ctaLabel, ctaHref, and backgroundColor props.
  2. Uses framer-motion useScroll and useTransform for the copy crossfade and the subtle image scale. Reduced-motion users see all steps without animation.
  3. Compatible with Next.js App Router, Astro, and Vite React.

Other React parallax and scroll animation components like the Sticky Product Spotlight

More parallax and scroll animation components with matching AI prompts for Claude Code, Cursor, Codex, Lovable, Replit, and Google Stitch.

Related prompts for scroll animations & parallax sections

Frequently asked questions about the Sticky Product Spotlight

How do I add a Sticky Product Spotlight to my website?+

Copy the source code from the "Copy code" button above and save it as a .tsx file in your components folder. The Sticky Product Spotlight is built with React, Tailwind CSS, and Framer Motion — add those as dependencies if they are not already in your project. Import and render the component wherever you need it. Every prop is optional and typed.

Can I use the Sticky Product Spotlight with Claude Code, Cursor, or Lovable?+

Yes. Each prompt tab above is tuned specifically for Claude Code, Cursor, Codex, Lovable, Replit, and Google Stitch. Paste the prompt into whichever AI coding tool you are using and it will generate a Sticky Product Spotlight matched to your existing file structure, design tokens, and brand color. Claude Code and Cursor work best when your project is already open — they slot the component directly into your codebase. Lovable and Replit are fastest for a standalone preview.

How do I customise the sticky design and colors?+

The Sticky Product Spotlight uses Tailwind utility classes throughout, so every color, spacing value, and font weight is one class away from changing. Replace any color class with your brand token (for example, swap `bg-black` for `bg-[#your-hex]`). To change the animation timing, update the `duration-` or `delay-` classes, or pass new values into the Framer Motion `transition` prop if the component uses it. For a full brand restyle, paste the component into Claude Code or Cursor and describe your design system.

Is the Sticky Product Spotlight free to use in commercial projects?+

Yes. Every component in the AI Library, including the Sticky Product Spotlight, is free to copy, adapt, and ship in commercial projects, client work, SaaS products, open-source repos, and internal tools. No attribution required, no license fee, no royalty.

What scroll frameworks does the Sticky Product Spotlight support?+

The Sticky Product Spotlight is a plain React 18 client component written in React + Framer Motion + Tailwind. It runs on Next.js (App Router and Pages Router), Vite, Remix, Gatsby, and any other framework that supports React 18 and Tailwind CSS v3. Keep the "use client" directive at the top of the file when you paste it into a Next.js App Router project.

Does the Sticky Product Spotlight work with TypeScript?+

Yes. The component is written in TypeScript with fully typed props and exported interfaces. Paste it into a TypeScript project and it compiles without modification. If you need a plain JavaScript version, ask Claude Code or Cursor to strip the type annotations.

Can I combine the Sticky Product Spotlight with other AI Library sections?+

Yes. Every component in the AI Library is standalone with no shared global state, no conflicting resets, and no namespace collisions. Drop the Sticky Product Spotlight alongside any other section component. They are compatible with shadcn/ui, Radix UI, MUI, and any other component library you are already using.