Landing Page Sections

Scroll Shrink Navbar

A fixed navbar that starts transparent and full-width at the top of the page. Once the user scrolls past 72px, it smoothly morphs into a compact pill: gains a white frosted-glass background, border, subtle shadow, and shrinks its padding. Links and logo color flip to match. The morph uses framer-motion variants with a single smooth transition.

Live preview

Loading preview

Requires framer-motion. React 18+ and Tailwind CSS v3+ assumed. Save as ScrollShrinkNavbar.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/ScrollShrinkNavbar.tsx. Fixed inset-x-0 top-0 z-50 client component. State: scrolled (boolean), true when window.scrollY > 72. Framer-motion motion.nav wrapping a motion.div that holds logo, links, and CTA. The inner div uses framer-motion variants: top state (margin 0, borderRadius 0, px 32, py 18, backgroundColor rgba(0,0,0,0), backdropFilter blur(0)), scrolled state (margin 12, borderRadius 16, px 20, py 10, backgroundColor rgba(255,255,255,0.95), backdropFilter blur(12px), boxShadow 0 1px 3px rgba(0,0,0,0.08)). Transition duration 0.3s easeInOut. Logo and link colors use motion variants too: white at top, black at scrolled. CTA: bg-white text-black at top; bg-black text-white at scrolled. Border: transparent at top, 1px rgba(229,229,229,0.8) at scrolled. Respect prefers-reduced-motion (instant switch, no transition). Props: logo, links (NavLink[]), ctaLabel, ctaHref. Single default export. Export NavLink type.

How to use this Scroll Shrink Navbar as a prompt

  1. Paste the prompt into Claude Code, Cursor, or Google Stitch to build a Scroll Shrink Navbar that morphs the React nav into a compact pill on scroll.
  2. Best for parallax landing pages, editorial sites, and any layout where the hero image deserves a transparent navbar at load.
  3. Ask Codex or Lovable to change the pill border-radius, trigger threshold, or add a mobile hamburger menu.

How to use this Scroll Shrink Navbar as code

  1. Drop the React + Tailwind file into `components/nav/` and pass logo, links, and CTA props. The component mounts as fixed.
  2. Uses framer-motion motion variants for the smooth morph. Respects prefers-reduced-motion by skipping the animated transition.
  3. Compatible with Next.js App Router (add "use client" to your page), Astro islands, and Vite React.

Other React landing page section components like the Scroll Shrink Navbar

More landing page section components with matching AI prompts for Claude Code, Cursor, Codex, Lovable, Replit, and Google Stitch.

Related prompts for landing page sections

Frequently asked questions about the Scroll Shrink Navbar

How do I add a Scroll Shrink Navbar 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 Scroll Shrink Navbar 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 Scroll Shrink Navbar 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 Scroll Shrink Navbar 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 navbar design and colors?+

The Scroll Shrink Navbar 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 Scroll Shrink Navbar free to use in commercial projects?+

Yes. Every component in the AI Library, including the Scroll Shrink Navbar, 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 Scroll Shrink Navbar support?+

The Scroll Shrink Navbar 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 Scroll Shrink Navbar 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 Scroll Shrink Navbar 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 Scroll Shrink Navbar alongside any other section component. They are compatible with shadcn/ui, Radix UI, MUI, and any other component library you are already using.