CSS transforms provide smooth, GPU-accelerated transitions.
Transform approach:
.carousel-track {
display: flex;
transition: transform 300ms ease-out;
transform: translateX(calc(-100% * var(--current-index)));
}
Benefits:
- GPU acceleration (transform is composited)
- No layout recalculation
- Smooth fps animation
Avoid: Animating left/right properties. They trigger layout.
Transition timing: -ms feels responsive. Ease-out provides natural deceleration.