Movement Character

1. Cubic-Bezier

Standard ease, ease-in-out are just templates. You can create your own speed curve:

transition-timing-function: cubic-bezier(0.68, -0.55, 0.27, 1.55);

Such a curve creates a " bouncing " effect (backwards/forwards overshoot).

2. steps() — Frame-by-Frame Animation

Perfect for sprites or " typewriter " effect.

transition-timing-function: steps(5); /* Movement in 5 sharp steps */
Note

Good animation is one you don't notice. For UI elements (buttons, menus), values in the range 0.1s - 0.3s work best. Anything longer than 0.5s starts annoying the user.