Skip to content
shadcn.io

shadcn.io is not affiliated with official shadcn/ui

Fast and Slow Dual Marquee Logos Block for React

Two depths of customer wordmarks for a barrel-tracking service: large names drifting slowly in front, small ones three times as fast behind, in opposite directions.

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 depth-effect logo marquee for React with Base UI. Under a centred header, two rows of wordmarks move at two speeds: large names in front, drifting slowly (about eighty seconds a loop), and small ones behind, three times as fast, in the opposite direction. Both fade out at both ends, so the band reads as near and far. A small button above the rows pauses both. The rows share one band: its top rule and a hairline between the rows meet the page rails at + marks, and the small row ends the block. It's built from Marquee, Button and Guides, with CSS for the entrance and your theme's tokens for every colour. For a calm hero-adjacent band with a little life in it.

FAQ

How do I change the speeds?

NEAR_SPEED and FAR_SPEED at the top of the file are in pixels a second (20 and 60). The loop time is the row's width divided by its speed, so the near row's large names take about eighty seconds a loop and the far row's about a third of that. Keep the near row slower than the far one so the depth reads.

How are the two sizes set?

Each row's customers carry their own lettering, and the near row's are larger (text-3xl, text-2xl). The marks come from LARGE_MARKS for the near row and MARKS for the far one, so an icon grows with its name. The near row is also given more room between names and between the rows.

How does it stop?

Four ways: the pause button above the rows (a toggle with aria-pressed that stops both), hovering a row, focusing into a row, and the visitor's reduced-motion setting, which stops both rows and leaves them as rows you can scroll by hand. The pause button is hidden with reduced motion.

How is it marked up for screen readers?

The rows are regions named "Customer logos, large and slow" and "Customer logos, small and fast". The first copy holds each customer's name as text with a decorative icon; the looping copies are hidden from assistive technology and can't be focused.

Does it follow my theme?

Yes. Names are the muted foreground colour and turn to the foreground on hover, the ends fade by a mask, and nothing is a fixed colour.

  • 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 customer wordmarks for a lighting-control service in a raised panel, with a Calm, Normal and Fast speed picker and a pause button at the end of the heading row.

  • 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

    Triple Row Marquee Logos

    Multi-row marquees

    Three rows of customer wordmarks for a carbon-credit registry, alternating direction, with a larger, darker, quicker middle row between two smaller, quieter, slower ones.

  • Pro

    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.

  • Pro

    Inset Dual Marquee Logos

    Multi-row marquees

    Two rows of customer wordmarks for an internal-wiki tool inside an inset card, fading out toward the foot with the call to action sitting over the fade.