Skip to content

Infinite Marquee

A continuous, reversible loop of your content.

LIVE PREVIEWInteract with the component
Just React. No extra dependencies.

Copy the component and its CSS module into your project.

CSS Modules

Usage

Matches your current playground settings.

jsx
import InfiniteMarquee from "./InfiniteMarquee";
export default function Example() {
return (
<InfiniteMarquee
items={[
"✳ Design",
"↗ Build",
"⌘ Create",
"◇ Explore",
"✳ Repeat"
]}
duration={25}
gap={48}
reverse={false}
pauseOnHover={true}
fade={true}
/>
);
}

Using Infinite Marquee

Pass items directly or use renderItem to produce your own markup. gap controls spacing while duration controls the time taken by the loop.

Use reverse to change direction and pauseOnHover when the contents need time to inspect. Give the collection a descriptive label.

Props

NameTypeRequiredDefaultDescription
itemsstring[]No[]Content supplied by your application.
renderItemfunctionNoundefinedOptional (item, index) renderer. Use to supply cards, logos, or links.
durationnumberNo25Loop duration
gapnumberNo24Item gap
reversebooleanNofalseReverse direction
pauseOnHoverbooleanNotruePause on hover
fadebooleanNotrueFade edges
labelstringNo"Scrolling collection"Accessible or visible label for this component.
classNamestringNo""Additional CSS class names, merged with base component styles.
styleCSSPropertiesNoundefinedInline styles for caller-defined sizing and visual overrides.

Related components

Pagination Rail

Navigation

A raised selection moves through a compact row of numbered page controls.

Layered chevron tabs create a compact trail with a distinct current page.

Folding Menu

Navigation

Numbered navigation panels unfold beneath a compact, tactile trigger.

Path Stepper

Navigation

Numbered stops connect into a clean vertical route with completed and current states.