CrazyGLCrazyGLHomeExploreGitHubBrowse heroesLoading hero…← Back to gallery@crazygl/dynamic-fill-nav

Dynamic Fill Nav

A nav bar where each link reveals a coloured fill on hover — left-to-right wipe behind a flat-coloured label.

ReactInteractiveFont#nav#fill#typography

Usage

import DynamicFillNav from '@crazygl/hero-dynamic-fill-nav';

export default function Hero() {
  return (
    <DynamicFillNav
      items={`Work | /work\nProcess | /process\nContact | /contact`}
      fillColor="#5b8def"
    />
  );
}

Customise

  • Linksitems: one label | href pair per line.
  • StyletextColor, fillColor (wipe colour), fillTextColor (hover text), fontSize, headingFontFamily, headingFontWeight.
  • BackdroptransparentBackground, bgColor.

Best for

  • Portfolio and studio landing pages with a strong typographic menu.
  • Single-page sites that use the nav itself as the hero.
  • Minimal brand sites wanting a tactile hover interaction.
01 · Install the package

One command, zero config.

npm install @crazygl/hero-dynamic-fill-nav
02 · Render the component

Import once, drop it in.

The component takes the same props you see in the live customizer on the right — every default ships poster-quality.

hero.tsx
import DynamicFillNav from '@crazygl/hero-dynamic-fill-nav';

export default function Landing() {
  return (
    <DynamicFillNav />
  );
}
03 · Use it in a page

SSR-safe by default.

The wrapper renders static HTML on the server and only initialises the canvas after hydration, so search engines see your copy.

page.tsx
// app/page.tsx — works in SSR-first frameworks (Next, Remix, Astro, etc.)
'use client';

import DynamicFillNav from '@crazygl/hero-dynamic-fill-nav';

export default function Page() {
  return (
    <section>
      <DynamicFillNav
        heading="Say hi."
        subheading="Your new hero."
      />
      <article>
        <h2>Welcome</h2>
        <p>Your content keeps its own voice below the hero.</p>
      </article>
    </section>
  );
}
You might also like

Similar heroes

Text Fill

Headline that fills bottom-up with a progress colour — like a loading bar disguised as type. The fill loops 0 → 100% on a configurable cycle.

Hover Text Link

A list of inline links with an animated underline-fill on hover — the text gets a coloured wipe that grows from left.

Pillflow Action Menu

A row of pill-shaped action buttons where each pill expands its label on hover — Apple-tab-bar grade affordance.

Gradient Text

Heading filled with a slowly drifting multi-stop linear gradient — three configurable colours, customizable angle, optional animation.

Auto Cover

Magazine-style cover that auto-cycles through a stack — large title, issue number, vertical spine text, with a pointer-driven tilt, a per-cover link, six entrance modes, and an optional pause-on-cover-hover.

Highlight Cycling

A coloured highlighter sweeps across the line one word at a time — like a presenter underlining the key word as they speak it.
Live customizer

Dynamic Fill Nav

Items (label | href per line)Text colourFill colourHover textFont size (px)48pxFontWeight700Transparent backgroundBackground
CrazyGL · crazygl.comProgrammable hero sections for real websites.