Movimiento
Una curva, tres duraciones y las recetas de hover, foco y aparición que salen de ellas.
La duración se elige por lo que está haciendo el usuario, no por gusto. Si está pulsando, 120 ms. Si tiene el puntero o el foco encima, 200 ms. Si algo aparece, 480 ms. Si lo que aparece es una superficie grande, 720 ms. Las cuatro bandas usan la misma curva, nada rebota y todo se detiene con prefers-reduced-motion. Debajo tienes las recetas de hover, pressed, foco, aparición y countup.
Una sola curva
cubic-bezier(0.19, 1, 0.22, 1): con los puntos de control en (0.19, 1) y (0.22, 1), el arranque es rápido y casi todo el tiempo se va en frenar. Botones, paneles, apariciones y el re-tintado por prop usan esta curva. No hay una segunda.
cubic-bezier(0.19, 1, 0.22, 1) Demos en vivo
La entradaarc-enter: un fundido con 4 px de recorrido y 40 ms de retardo entre elementos. Es la misma que usa todo este manual. En vivo
200
ms · transición estándar
Acción primaria
Recetas de interacción
Pasa el cursor o enfoca para reproducir la entrada.1240
Asistentes
87
NPS
Tokens de movimiento
Ejemplos CSS
Prohibido
- Nada de bounce ni de elastic. Si un gesto necesita énfasis, dale más duración.
- Lo que se ve cien veces al día no se anima: una acción de teclado abre de golpe. Lo que se ve decenas de veces —hover, recorrer una lista— va en la banda más corta que sirva.
- El texto corrido no se mueve con parallax. Para dar profundidad a un bloque, mueve la imagen de fondo y deja el texto quieto.
- Ni vídeo ni audio arrancan solos sin un control a la vista: el play lo pulsa quien lee.
- Nada de transformaciones que muevan el layout. Anima
transformyopacity, que no reflujan la página.