CrazyGLCrazyGLHomeExploreGitHubBrowse heroesLoading hero…← Back to gallery@crazygl/hovertext-link

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.

ReactInteractiveFont#link#hover#underline#typography

Usage

import HoverTextLink from '@crazygl/hero-hovertext-link';

export default function Page() {
  return (
    <HoverTextLink
      intro="We design,"
      link1Label="build"
      link1Url="/build"
      mid=", and"
      link2Label="ship"
      link2Url="/ship"
      outro="products that earn trust."
      hoverFill="#5b8def"
    />
  );
}

Customise

  • Contentintro, link1Label/link1Url, mid, link2Label/link2Url, outro.
  • StyletextColor, linkColor, hoverFill (the colour that rises in), fontSize, headingFontFamily, headingFontWeight.
  • BackdroptransparentBackground toggle and bgColor.

Best for

  • Agency, studio, and portfolio headers where the headline doubles as navigation.
  • Minimal landing pages that want one expressive, interactive statement.
  • Anywhere an inline link should feel intentional and tactile rather than a plain underline.
01 · Install the package

One command, zero config.

npm install @crazygl/hero-hovertext-link
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 HoverTextLink from '@crazygl/hero-hovertext-link';

export default function Landing() {
  return (
    <HoverTextLink />
  );
}
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 HoverTextLink from '@crazygl/hero-hovertext-link';

export default function Page() {
  return (
    <section>
      <HoverTextLink
        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 Hover Reveal

Each item shows a default heading; on hover the heading scrolls up and a secondary line scrolls in from below — list-of-services interaction.

Text Hover Icon

A sentence where designated keywords morph into a glyph on hover and bounce back to text on leave — the words become controls.

Hover Text Reveal

A row of phrases where hovering one expands a stagger-typed paragraph beside it — the kind of FAQ heading-list interaction premium SaaS sites use.

Text Glitch Hover

Heading sits calm until you hover, then snaps into an RGB-split glitch. Stops cleanly on leave — restraint with a payoff.

Hover Text Highlight

A heading whose words light up on hover — a coloured backdrop wipes in from one side, and out the other when the cursor leaves. Pick Background (full bleed) or Underline (band only).

Text Glow Hover

A heading with a stack of layered, blurred shadow copies that fan out in the direction of the cursor — like a tracer of light pouring out of the wordmark. On hover-end the stack relaxes back to a resting diagonal trail.
Live customizer

Hover Text Link

Text colourLink colourHover fill colourFont size56pxFontWeight600Transparent backgroundBackground
CrazyGL · crazygl.comProgrammable hero sections for real websites.