OnomaUI

purupuru motion

purupuru has 2 kinds of motion.

ぷるぷる2 motionsOfficial

Motion by meaning

Small shake

Input error

Shakes 4 times, starting at 8% and fading out.

Duration
0.4s
Repeats
No
Easing
linear
Animates
Position · Rotation translate rotate
Show CSS
@keyframes onoma-purupuru {
  0% { transform: translate(0%, 0%) rotate(0deg); }
  11.11% { transform: translate(-8%, 0%) rotate(-2.8deg); }
  22.22% { transform: translate(7%, 0%) rotate(2.45deg); }
  33.33% { transform: translate(-6%, 0%) rotate(-2.1deg); }
  44.44% { transform: translate(5%, 0%) rotate(1.75deg); }
  55.56% { transform: translate(-4%, 0%) rotate(-1.4deg); }
  66.67% { transform: translate(3%, 0%) rotate(1.05deg); }
  77.78% { transform: translate(-2%, 0%) rotate(-0.7deg); }
  88.89% { transform: translate(1%, 0%) rotate(0.35deg); }
  100% { transform: translate(0%, 0%) rotate(0deg); }
}

.onoma-purupuru {
  animation: onoma-purupuru 0.4s linear both;
}

/* Reduced motion: no motion */
@media (prefers-reduced-motion: reduce) {
  .onoma-purupuru { animation: none; }
}

Wobble back

Touch feedback

Stretches 20% wide, then wobbles a few times back to shape.

Duration
0.7s
Repeats
No
Easing
ease-in-out
Animates
Scale scale
Show CSS
@keyframes onoma-purupuru-jelly {
  0% { transform: scale(1, 1); }
  25% { transform: scale(1.2, 0.82); }
  45% { transform: scale(0.88, 1.12); }
  65% { transform: scale(1.06, 0.95); }
  82% { transform: scale(0.98, 1.02); }
  100% { transform: scale(1, 1); }
}

.onoma-purupuru-jelly {
  animation: onoma-purupuru-jelly 0.7s ease-in-out both;
}

/* Reduced motion: no motion */
@media (prefers-reduced-motion: reduce) {
  .onoma-purupuru-jelly { animation: none; }
}

Compare with similar motions

Words for the same motion