Marquee
An infinite scrolling strip for logos, testimonials, or tags. The track is duplicated and translated with a single CSS keyframe, so it runs on the compositor and pauses on hover. Freezes to a scrollable row under reduced motion.
VercelLinearStripeRaycastSupabaseResend
Installation
Registry CLI — copy the source straight into your project:
$pnpm dlx shadcn@latest add @stacklyui/marqueeOr install the package and import it:
$pnpm add @stacklyui/ui motionUsage
Pass any children — they're repeated repeat times to fill the track. Go vertical with vertical, flip direction with reverse, and set duration/gap to taste. The edge fade is on by default via fade.
Props
| Prop | Type | Default | Description |
|---|---|---|---|
duration | number | 40 | Seconds for one full loop. |
vertical | boolean | false | Scroll vertically instead of horizontally. |
reverse | boolean | false | Reverse the scroll direction. |
pauseOnHover | boolean | true | Pause the animation while hovered. |
fade | boolean | true | Mask-fade the leading/trailing edges. |
repeat | number | 2 | How many times children repeat to fill the track. |