Skip to main content
Clever Ops

Velocity Scroll Marquee

Display-type marquee whose speed and direction follow scroll velocity, spring-smoothed so it drifts gently at rest, whips with fast scrolls, and never jumps.

Preview & code

Loading Velocity Scroll Marquee preview

Installation

pnpm dlx shadcn@latest add @cleverui/marquee-velocity-scroll

Requires the @cleverui registry in your components.json, a one-off, two-line setup.

Usage

tsx
import { MarqueeVelocityScroll } from '@/components/blocks/marquee-velocity-scroll'
Exampletsx
import { MarqueeVelocityScroll } from '@/components/blocks/marquee-velocity-scroll'

export default function MarqueeVelocityScrollDemo() {
  return (
    <div className="flex min-h-[480px] flex-col justify-center">
      <div className="mx-auto max-w-6xl px-4 pb-8 sm:px-6">
        <p className="font-mono text-[11px] uppercase tracking-[0.2em] text-muted-foreground sm:text-xs">
          Scroll to couple
        </p>
        <h2 className="mt-2 max-w-xl text-2xl font-semibold tracking-tight text-balance sm:text-3xl">
          Type that keeps pace with how fast you read the page.
        </h2>
      </div>
      <MarqueeVelocityScroll
        text="Ship faster"
        baseVelocity={2}
        size="lg"
        repeat={4}
        separator="·"
      />
    </div>
  )
}

API reference

MarqueeVelocityScroll accepts the following props.

PropTypeDefaultDescription
text*stringshort display phrase repeated along the lane, e.g. 'Ship faster'
baseVelocitynumber2resting drift in percent of track per second; negative reverses direction
size'md' | 'lg' | 'xl''lg'clamp-based display type scale for the lane
repeatnumber4copies of the phrase in the track; enough to cover ultrawide viewports
separatorstring'·'glyph between repeats, rendered in primary as the single accent

…plus everything from React.HTMLAttributes<HTMLElement>: className, event handlers, aria attributes and the rest pass straight through.

Frequently asked questions

How do I install the Velocity Scroll Marquee component?

Register the @cleverui registry in your components.json ("@cleverui": "https://cleverops.com.au/r/{name}.json"), then run `npx shadcn@latest add @cleverui/marquee-velocity-scroll`. The shadcn CLI copies the source into your project, you own the code from that point. You can also copy the source directly from this page.

What dependencies does Velocity Scroll Marquee require?

Velocity Scroll Marquee uses motion on top of React and Tailwind CSS. You don't need to install it manually, the shadcn CLI resolves and installs npm dependencies automatically when you add the component.

Can I theme Velocity Scroll Marquee to match my brand?

Yes. The component is styled entirely with Tailwind utilities over standard design tokens (primary, background, muted, border), so it inherits your existing shadcn/ui theme automatically. Change your CSS variables and the component follows, no source edits needed for palette, radius, or fonts.

Want this built for you?

CleverUI is built by the Clever Ops web team. If you'd rather ship a hand-coded, fast, custom website than assemble one, we build them for Australian businesses every week.

Explore web development services