Skip to content
shadcn.io

shadcn.io is not affiliated with official shadcn/ui

Reverse Direction Single Marquee Logos Block for React

One row of customer wordmarks for a flight-school scheduler with transport controls in the header: a Forward and Backward switch that turns the row around, and a button that pauses it.

Framework
UI library

Preview

Preview width

Installation

Part of Pro
Pro unlocks the code and one-line install of every Pro button and text effect, plus the MCP for your AI editor.
Have Pro already? Sign in to open it.Opens here as soon as you're Pro.

Overview

A single-row customer marquee with transport controls for React with Base UI. A header row puts the heading and a sentence at the start and, at its end, a segmented Forward and Backward switch and a pause button; on a phone the controls drop under the heading. Below, a ruled band that ends the block holds one row of customer wordmarks that starts out running backward and turns around when you pick Forward. Each customer is an icon and a name in its own lettering. The marquee's looping copies are hidden from screen readers. It's built from Marquee, Segment Group, Button and Guides, with CSS for the entrance and your theme's tokens for every colour. For a page where the visitor, or a reviewer, should be able to take the moving row in hand.

FAQ

How does the direction switch work?

It's a SegmentGroup named "Direction of the row", with Forward and Backward. The selected value is state in the block, and the Marquee gets reverse when Backward is chosen. Forward is the usual ticker, moving toward the start of the line; Backward moves toward the end. The row starts on Backward, so change useState("backward") for a different default.

How does it stop?

Four ways: the pause button next to the switch (a toggle with aria-pressed), hovering the row, moving keyboard focus into it, and the reduced-motion setting, which stops the row and leaves it as a row you can scroll by hand. Under reduced motion the switch and the button are hidden, because there is nothing left to steer or pause.

Does the row jump when I change direction?

Yes, a little. The direction is a CSS animation direction, so turning the row around mirrors its position in the loop. The row keeps scrolling from there at the same speed.

How do I change the customers?

Edit CUSTOMERS at the top of the file: each entry is an icon, a name, the lettering classes and where the icon sits (mark: inline, badge, ring or trailing). Give each customer its own lettering so the row doesn't read as one font.

How does it fit on a phone?

The switch and the pause button go under the heading, and the row keeps scrolling at every width. Nothing scrolls sideways at 320 pixels except the row itself.

  • Pro

    A centred heading for a secure-messaging tool over one row of large customer wordmarks in a ruled band, with a pause button in a cell of its own at the end.

  • Pro

    One row of pill chips for a calendar-booking tool, each a customer's icon and name with a small badge for the plan it is on, ruled as a band under a start-aligned header.

  • Pro

    A strip of fourteen customers of a feature-flag service as icon-only square tiles that scroll on their own, with a button to pause them and each customer named on hover.

  • Pro

    Dual Row Marquee Logos

    Multi-row marquees

    Two rows of customer wordmarks for a camera-security service, scrolling in opposite directions at one calm speed under a centred header, with a button that pauses both.

  • Pro

    Two rows of customers of a returns-management service in two kinds of logo: wordmarks on top and icon-only tiles on a tinted band below, moving in opposite directions.

  • Pro

    Logo Marquee Hero

    Logos and social proof

    A compact hero for a support platform: copy and two calls to action, then two bands across the column: a strip of customer logos that scrolls on its own with a pause button, and a row of three stats.