Marquee

A row of logos or items that scrolls without end.

Source

Customer logos

The row scrolls at a constant speed.

Two tool rows

The second row moves in the opposite direction. Keyboard focus pauses both rows.

Product analyticsSession replayFeature flagsExperimentsSurveysError tracking
Product analyticsSession replayFeature flagsExperimentsSurveysError tracking

Usage

These are defaults, not laws. Break one when you have a good reason, or when it makes the design more cohesive or more interesting.

  • Put only decorative content that repeats in a marquee, such as customer logos. Do not put content that users must read or click in it.
  • Children are copied to fill the row. Do not put IDs or autoplaying media in them.

API

Props that the library adds. Every part also takes all the Base UI props.

Marquee

PropTypeDefaultDescription
childrenReactNode–The logo, tool, or fact items.
labelstring–Names the scroll region for screen readers.
direction'left' | 'right''left'Sets the direction.
speednumber40Sets pixels per second. Zero disables motion.
gapnumber32Sets the gap in pixels.
edgeFadebooleantrueAdds a static edge mask while motion is enabled.
pauseOnHoverbooleantruePauses motion while the pointer is over the row. Focus always pauses motion.
secondRowReactNode–Adds a second row with the opposite direction. Focus within either row pauses both rows.
classNamestring–Adds classes to the outer element.