OnomaUI

tonton motion

tonton has 2 kinds of motion.

とんとん2 motionsOfficial

Motion by meaning

Tap tap gently

A knock or a nudge

Dips 9% 2 time(s), rests a moment, and repeats.

Duration
0.8s
Repeats
Yes
Easing
ease-in-out
Animates
Position translate
Show CSS
@keyframes onoma-tonton {
  0% { transform: translate(0%, 0%); }
  17.5% { transform: translate(0%, 9%); }
  35% { transform: translate(0%, 0%); }
  52.5% { transform: translate(0%, 9%); }
  70% { transform: translate(0%, 0%); }
  100% { transform: translate(0%, 0%); }
}

.onoma-tonton {
  animation: onoma-tonton 0.8s ease-in-out infinite both;
}

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

Go smoothly step by step

Steps going smoothly

Hops 4 steps (14% high) across 120%, repeating.

Duration
1.4s
Repeats
Yes
Easing
linear
Animates
Position · Opacity translate opacity
Show CSS
@keyframes onoma-tonton-2 {
  0% { transform: translate(-60%, 0%); opacity: 0; animation-timing-function: ease-out; }
  12.5% { transform: translate(-45%, -14%); opacity: 1; animation-timing-function: ease-in; }
  25% { transform: translate(-30%, 0%); opacity: 1; animation-timing-function: ease-out; }
  37.5% { transform: translate(-15%, -14%); opacity: 1; animation-timing-function: ease-in; }
  50% { transform: translate(0%, 0%); opacity: 1; animation-timing-function: ease-out; }
  62.5% { transform: translate(15%, -14%); opacity: 1; animation-timing-function: ease-in; }
  75% { transform: translate(30%, 0%); opacity: 1; animation-timing-function: ease-out; }
  87.5% { transform: translate(45%, -14%); opacity: 1; animation-timing-function: ease-in; }
  100% { transform: translate(60%, 0%); opacity: 0; }
}

.onoma-tonton-2 {
  animation: onoma-tonton-2 1.4s linear infinite both;
}

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

Compare with similar motions