Toggle Sidebar B
AppearanceLight & dark mode D

Drift Wall

An endless perspective wall of tiles drifting past, lifting on hover.

Default

Hover a tile to lift it and stop its column. Every prop is wired to the controls underneath.

Light previewReplay previewOpen in new tab
Tile 1Tile 6Tile 11Tile 16Tile 1Tile 6Tile 11Tile 16Tile 1Tile 6Tile 11Tile 16
Tile 2Tile 7Tile 12Tile 2Tile 7Tile 12Tile 2Tile 7Tile 12Tile 2Tile 7Tile 12
Tile 3Tile 8Tile 13Tile 3Tile 8Tile 13Tile 3Tile 8Tile 13Tile 3Tile 8Tile 13
Tile 4Tile 9Tile 14Tile 4Tile 9Tile 14Tile 4Tile 9Tile 14Tile 4Tile 9Tile 14
Tile 5Tile 10Tile 15Tile 5Tile 10Tile 15Tile 5Tile 10Tile 15Tile 5Tile 10Tile 15

Customize

Overlay
Columns5
Tile Width200px
Tile Height132px
Gap18px
Radius14px
Direction
Speed42
Variance0.45
Tilt16°
Turn-14°
Roll0°
Perspective1200px
Depth120px
Parallax0.6
Lift64px
Fade0.6
Dim0.55

API Reference

DriftWall

PropTypeDefaultDescription
items{ image: string, title?: string, href?: string }[]15 demo tilesTiles to display. Each item has { image, title?, href? }.
columnsnumber5Number of drifting columns.
tileWidthnumber200Width of each tile in pixels.
tileHeightnumber132Height of each tile in pixels.
gapnumber18Spacing between tiles and columns in pixels.
radiusnumber14Corner radius of each tile in pixels.
tiltnumber16Perspective pitch of the wall (rotateX, degrees).
turnnumber-14Perspective yaw of the wall (rotateY, degrees).
rollnumber0In-plane rotation of the wall (rotateZ, degrees).
perspectivenumber1200Perspective distance in pixels. Smaller is more dramatic.
depthnumber120How far the wall sits back from the viewer in pixels.
speednumber42Base drift speed in pixels per second.
direction"up" | "down""up"Primary drift direction; columns alternate around it.
variancenumber0.45How much column speeds differ from each other (0 to 1).
parallaxnumber0.6Pointer-follow tilt strength (0 disables it).
pauseOnHoverbooleanfalsePause the whole wall while the pointer is over it.
liftnumber64How far a hovered tile lifts toward the viewer in pixels.
fadenumber0.6Strength of the edge and depth dissolve (0 to 1).
dimnumber0.55Resting opacity of unhovered tiles (0 to 1).
grayscalebooleanfalseDesaturate resting tiles; hover restores colour.
overlayColorstring"#060010"Tint laid over resting tiles, cleared on hover.

Accessibility

Keyboard shortcuts and ARIA behavior.

Shortcut Description
TabMoves focus between tiles. A focused tile lifts like a hovered one.
  • Tiles without an href are focusable buttons labelled with their title.
  • Drifting stops when the user prefers reduced motion.