Skip to content

Ribbon Tunnel

Nested ribbons twist into a softly lit geometric tunnel.

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 RibbonTunnel from "./RibbonTunnel";
export default function Example() {
return (
<RibbonTunnel
color={"#b8a0e8"}
background={"#100e18"}
count={18}
speed={16}
twist={8}
paused={false}
height={420}
/>
);
}

Using Ribbon Tunnel

Place Ribbon Tunnel behind a hero or editorial title using children. Give it an explicit height so the surrounding layout stays stable.

Use twist to change the depth pattern and speed to slow the rotation. The paused prop and reduced-motion preference both stop the animation.

Props

NameTypeRequiredDefaultDescription
colorstringNo"#b8a0e8"Ribbon border colour.
backgroundstringNo"#100e18"Surface behind the ribbons.
countnumberNo18Number of nested ribbons, clamped to 3 through 40.
speednumberNo16Animation cycle duration in seconds.
twistnumberNo8Rotation difference between successive ribbons in degrees.
childrenReactNodeNoundefinedOptional foreground content.
heightnumber | stringNo420Reserved height of the effect.
pausedbooleanNofalsePause the decorative animation.
classNamestringNo""Additional classes on the root element.
styleCSSPropertiesNoundefinedInline styles for sizing, typography and appearance.

Related components

Lava Lamp

Backgrounds

Warm liquid forms merge and drift inside a softly lit glass lamp.

Helix Field

Backgrounds

Two strands of shaded particles rotate around fine connecting rungs.

Wave Lattice

Backgrounds

A fine perspective mesh drifts over a sculpted wave surface.

Kinetic Mobile

Backgrounds

Suspended discs, rings and counterweights sway on fine connecting rods.