Marquee

A scrolling text display box that displays information from one or more text display boxes.

Example

Usage

Installation

Install following dependencies:

npm install react-aria-components tw-animate-css tailwindcss-react-aria-components class-variance-authority lucide-react clsx tailwind-merge motion
@keyframes marquee {
  0% {
    transform: translateX(0%);
  }
  100% {
    transform: translateX(calc(-100% - var(--gap)));
  }
}

@keyframes marqueeY {
  0% {
    transform: translateY(0%);
  }
  100% {
    transform: translateY(calc(-100% - var(--gap)));
  }
}

Add cn helper using clsx and twMerge for conditional class merging in Tailwind components.

lib/utils.ts

Copy and paste the following code into your project.

components/ui/core/marquee.tsx
npx libravelui@latest add marquee

Anatomy

import {
  Marquee,
  MarqueeContent,
  MarqueeItem,
} from "@/components/ui/core/marquee";
<Marquee speed="normal" direction="left" stopOnHover fade autoFill>
  <MarqueeContent>
    <MarqueeItem className="px-8">Fast Performance</MarqueeItem>
    <MarqueeItem className="px-8">Beautiful Design</MarqueeItem>
    <MarqueeItem className="px-8">Customizable</MarqueeItem>
    <MarqueeItem className="px-8">Responsive Layout</MarqueeItem>
    <MarqueeItem className="px-8">Dark Mode Ready</MarqueeItem>
  </MarqueeContent>
</Marquee>

Another Example

Usage

Props

Loading types…

Accessible React component library to copy, customize, and own your UI. Built for Next.js, Vite, and Laravel.

Crafted by dervyon. Peep the Source Code on GitHub.

Hosted on Vercel. The source code's got the MIT license.

2025 - 2026 · LibravelUI

Starter Kits

Templates

    Coming Soon

Labs