Kiki

Morphing Scroll Navbar

Component 81

About

A responsive navbar that morphs from a full-width header into a blurred floating capsule, compacts while scrolling down, restores on upward scroll, and tracks reading progress.

Built with React and Tailwind. Copy the prompt and paste it into Claude Code, Cursor or Lovable: your agent adds Morphing Scroll Navbar to your project and fits it to your theme.

Code

How Morphing Scroll Navbar is used: the demo's code. The component's own source comes with a free account.

Usage.tsx

import { MorphingScrollNavbar } from "@/components/ui/morphing-scroll-navbar"

const sections = [
  ["how", "01", "How it works", "A navigation bar that responds to reading intent."],
  ["control", "02", "Control", "Scroll upward and the links return before you reach the top."],
  ["assurance", "03", "Assurance", "Every transition is restrained and reversible."],
  ["developers", "04", "Developers", "One component, no animation dependency."],
  ["faq", "05", "FAQ", "Responsive by construction."],
]

export default function MorphingScrollNavbarDemo() {
  return (
    <main className="msn-demo">
      <style>{DEMO_STYLES}</style>
      <MorphingScrollNavbar />
      <header className="msn-demo-hero" id="top">
        <div className="msn-demo-dots" />
        <p>Scroll-responsive navigation</p>
        <h1>Calm at rest.<br />Useful in motion.</h1>
        <span>Scroll to see the shell float, compress and restore itself.</span>
      </header>
      {sections.map(([id, index, eyebrow, title]) => (
        <section className="msn-demo-section" id={id} key={id}>
          <div className="msn-demo-index">{index}</div>
          <div><p>{eyebrow}</p><h2>{title}</h2></div>
        </section>
      ))}
    </main>
  )
}

const DEMO_STYLES = `
*{box-sizing:border-box}html{scroll-behavior:smooth}.msn-demo{min-height:100vh;background:#f6f7f5;color:#17201c;font-family:"Geist Variable",ui-sans-serif,system-ui,sans-serif}.msn-demo-hero{position:relative;min-height:100vh;display:grid;place-content:center;justify-items:center;padding:120px 24px 80px;text-align:center;overflow:hidden}.msn-demo-dots{position:absolute;inset:0;background-image:radial-gradient(circle at 1px 1px,rgba(23,32,28,.11) 1px,transparent 0);background-size:27px 27px;mask-image:radial-gradient(ellipse 70% 65% at 50% 38%,#000 20%,transparent 72%)}.msn-demo-hero>*:not(.msn-demo-dots){position:relative}.msn-demo-hero p,.msn-demo-section p{margin:0 0 18px;color:#176247;font-size:11px;font-weight:650;letter-spacing:.1em;text-transform:uppercase}.msn-demo-hero h1{margin:0;font-size:clamp(52px,8.2vw,112px);font-weight:590;line-height:.91;letter-spacing:-.065em;text-wrap:balance}.msn-demo-hero>span{margin-top:30px;color:#68716b;font-size:15px}.msn-demo-section{width:min(1120px,calc(100% - 48px));min-height:92vh;margin:auto;padding:120px 0;display:grid;grid-template-columns:minmax(120px,.34fr) minmax(0,1fr);gap:48px;scroll-margin-top:90px;border-top:1px solid #dce1dd}.msn-demo-index{color:#8b938e;font-size:11px}.msn-demo-index:before{content:"";display:block;width:48px;height:1px;margin-bottom:14px;background:#176247}.msn-demo-section h2{max-width:760px;margin:0;font-size:clamp(38px,5.4vw,72px);font-weight:560;letter-spacing:-.05em;line-height:.98;text-wrap:balance}.dark .msn-demo{background:#101310;color:#edf1ee}.dark .msn-demo-dots{background-image:radial-gradient(circle at 1px 1px,rgba(237,241,238,.1) 1px,transparent 0)}.dark .msn-demo-hero>span{color:#9aa49e}.dark .msn-demo-section{border-color:#2b312d}@media(max-width:700px){.msn-demo-section{width:calc(100% - 36px);grid-template-columns:1fr;gap:32px;padding:84px 0}.msn-demo-hero h1{font-size:clamp(48px,15vw,76px)}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
`

More by Kiki

View all
  • Filter Token Bar

    Filter Token Bar

    521
  • Compose

    Compose

    423
  • Product Tour

    Product Tour

    209
  • Tier List Maker

    Tier List Maker

    138
  • Draggable Photo Stack

    Draggable Photo Stack

    82
  • Selection Bubble Menu

    Selection Bubble Menu

    35
  • 3D Before & After Image Slider

    3D Before & After Image Slider

    30
  • Advanced Data Table Filter Builder

    Advanced Data Table Filter Builder

    26