Circle Stack
A tilted stack of circles that cycles through your images
circle-stack-tw
Customize
Tweak the props live410px
60°
45px
2px
4s
0.9s
#FFFFFF#000000Props
| Name | Type | Default | Description |
|---|---|---|---|
items | CircleStackItem[] | 3 sample images | Discs to render. Each item: { id?, image, alt? }. |
size | number | 410 | Diameter of each disc in pixels. |
tilt | number | 60 | Disc tilt in degrees. 0 = flat circle, 90 = edge-on. |
stackGap | number | 45 | Vertical separation between adjacent discs in pixels. |
interval | number | 4 | Seconds between active-index advances. |
transitionDuration | number | 0.9 | Seconds for the lift / settle transition. |
paused | boolean | false | Pause the auto-cycle. |
surfaceColor | string | "#FFFFFF" | CSS color for the disc surface (top face). |
borderColor | string | "#000000" | CSS color for the disc border ring. |
borderWidth | number | 1 | Border thickness in pixels. |
className | string | undefined | Class applied to the root element. |
style | CSSProperties | undefined | Inline style applied to the root element. |
onActiveChange | (index: number) => void | undefined | Fires when the active disc index changes. |
itemsCircleStackItem[]Discs to render. Each item: { id?, image, alt? }.
Default:
3 sample imagessizenumberDiameter of each disc in pixels.
Default:
410tiltnumberDisc tilt in degrees. 0 = flat circle, 90 = edge-on.
Default:
60stackGapnumberVertical separation between adjacent discs in pixels.
Default:
45intervalnumberSeconds between active-index advances.
Default:
4transitionDurationnumberSeconds for the lift / settle transition.
Default:
0.9pausedbooleanPause the auto-cycle.
Default:
falsesurfaceColorstringCSS color for the disc surface (top face).
Default:
"#FFFFFF"borderColorstringCSS color for the disc border ring.
Default:
"#000000"borderWidthnumberBorder thickness in pixels.
Default:
1classNamestringClass applied to the root element.
Default:
undefinedstyleCSSPropertiesInline style applied to the root element.
Default:
undefinedonActiveChange(index: number) => voidFires when the active disc index changes.
Default:
undefined