Interactive entry

Rubber-banding

Rubber-banding helps confirm user action and keep the interface physical.

Active entry

Preview, parameters, and exports

Rubber-banding helps confirm user action and keep the interface physical.

Resistance and snap-back when you drag past a boundary (the iOS overscroll feel)

Browse categories
Preview
Rubber-banding
180ms
28px
0ms
soft
.motion-card {
  animation-name: motion-rubber-banding;
  animation-duration: 180ms;
  animation-timing-function: cubic-bezier(0.23, 1, 0.32, 1);
  animation-delay: 0ms;
  animation-fill-mode: both;
  will-change: transform, opacity;
  transform-origin: center;
}

@keyframes motion-rubber-banding {
  from {
    opacity: 0;
    transform: scale(0.96);
  }

  to {
    opacity: 1;
    transform: translateY(0) scale(1);
  }
}

@media (prefers-reduced-motion: reduce) {
  .motion-card {
    animation-name: motion-rubber-banding-reduced;
    animation-duration: 180ms;
    animation-delay: 0ms;
    transform: none;
    animation-iteration-count: 1;
  }
}

@keyframes motion-rubber-banding-reduced {
  from {
    opacity: 0;
  }

  to {
    opacity: 1;
  }
}

Agent prompt

Use Rubber-banding for a UI fragment: Rubber-banding helps confirm user action and keep the interface physical. Animate transform and opacity, keep the duration at 180ms, use 28px of visual amplitude, add a 0ms delay, use soft easing (cubic-bezier(0.23, 1, 0.32, 1)), and include a reduced-motion fallback.

intent: entrancefeel: softcontext: card
Usage
  • Use it when you need to confirm user action and keep the interface physical.
  • Good for low- or medium-frequency UI changes that should stay short, clear, and interruptible.
  • Copy the prompt or CSS and hand it to an agent for implementation.
Examples
  • Preview Rubber-banding on a card, list item, or lightweight panel.
  • Tune duration, travel, delay, and curve until Rubber-banding matches the surrounding interface.
Review notes
  • Prefer transform and opacity so motion stays off layout and paint work.
  • Keep UI motion under 300ms; frequent feedback should be shorter.
  • Avoid scale(0) and UI ease-in; use a physical starting point and a strong ease-out curve.
Reduced motion

Under reduced motion, Rubber-banding removes travel, rotation, or looping and keeps a short fade or state comparison.