3D Marquee
A tilted 3D grid of images whose columns scroll up and down in an endless loop.
- 1.8 KB gzipped
- Zero dependencies
- Reduced-motion safe
- Base UI & Radix compatible
Installation
pnpm dlx shadcn@latest add https://velora.colorlib.com/r/3d-marquee.jsonAdds components/velora/3d-marquee.tsx and merges the keyframes and tokens into your CSS.
Examples
Showcase wall
A "Built with Velora" wall of screenshots behind centered headline copy.
Showcase
Built with Velora
Dashboards, storefronts and launch pages from teams who shipped faster with copy-paste components.
Submit your projectProps
| Prop | Type | Default |
|---|---|---|
images*Image URLs, or { src, alt } objects (images without alt are decorative) | Marquee3DImage[] | — |
columnsNumber of columns on the tilted plane | number | 5 |
durationSeconds for one full loop of a column | number | 40 |
fadeFade the edges into the background | boolean | true |
pauseOnHoverPause scrolling while hovered | boolean | true |
imageClassNameExtra classes for every image tile | string | — |
Also accepts every <div> attribute, forwarded to the root element.
Marquee3DImage
type Marquee3DImage = string | { src: string; alt?: string };Accessibility
- Reduced motion
- The columns stop scrolling and the grid rests as a static tilted wall. Scrolling also pauses on hover and while offscreen.
- Keyboard
- Decorative — nothing to operate.
- Screen readers
- Images are decorative (empty alt) unless you pass alt text, in which case each is read once; duplicated copies are aria-hidden and inert.