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.