Parallax Carousel
A draggable image carousel with a smooth parallax feel
Customize
Tweak the props liveGeometry
Motion
Behaviour
Props
| Name | Type | Default | Description |
|---|---|---|---|
images | string[] | [] | Ordered list of image URLs (required) |
imageWidth | number | 420 | Plane width in CSS pixels |
imageHeight | number | 560 | Plane height in CSS pixels |
gap | number | 32 | Horizontal gap between planes in CSS pixels |
parallaxIntensity | number | 0.4 | UV-space horizontal counter-shift as planes drift from centre (0–1) |
uvScale | number | 0.85 | Inner texture inset that gives the parallax shift room to move (0.6–1) |
lerp | number | 0.08 | Smoothing factor for the scroll lerp (0–1) |
wheelSensitivity | number | 1 | Multiplier on wheel deltas |
dragSensitivity | number | 1.4 | Multiplier on pointer-drag deltas |
loop | boolean | false | Loop endlessly horizontally (planes wrap around) |
borderRadius | number | 16 | Border radius applied to each plane in CSS pixels |
autoplaySpeed | number | 0 | Idle drift speed in CSS px/s when not interacting |
pauseOnHover | boolean | true | Pause autoplay while the cursor is over the carousel |
showProgress | boolean | true | Show a progress indicator at the bottom (hidden in loop mode) |
className | string | "" | Additional CSS classes for the container |
ref | ParallaxCarouselRef | undefined | Imperative API: { scrollToIndex(i), reset() } |
imagesstring[]Ordered list of image URLs (required)
[]imageWidthnumberPlane width in CSS pixels
420imageHeightnumberPlane height in CSS pixels
560gapnumberHorizontal gap between planes in CSS pixels
32parallaxIntensitynumberUV-space horizontal counter-shift as planes drift from centre (0–1)
0.4uvScalenumberInner texture inset that gives the parallax shift room to move (0.6–1)
0.85lerpnumberSmoothing factor for the scroll lerp (0–1)
0.08wheelSensitivitynumberMultiplier on wheel deltas
1dragSensitivitynumberMultiplier on pointer-drag deltas
1.4loopbooleanLoop endlessly horizontally (planes wrap around)
falseborderRadiusnumberBorder radius applied to each plane in CSS pixels
16autoplaySpeednumberIdle drift speed in CSS px/s when not interacting
0pauseOnHoverbooleanPause autoplay while the cursor is over the carousel
trueshowProgressbooleanShow a progress indicator at the bottom (hidden in loop mode)
trueclassNamestringAdditional CSS classes for the container
""refParallaxCarouselRefImperative API: { scrollToIndex(i), reset() }
undefined