Spring sutil (Y1=1.2)
- Entrada
- Escala ou translate de elemento entrando
- Saída esperada
- transition: transform 320ms cubic-bezier(0.34, 1.2, 0.64, 1);
Overshoot suave. Funciona bem para ícones, badges e toasts.
cubic-bezier spring overshoot CSS animação elástica
Uma das capacidades menos conhecidas do `cubic-bezier()` no CSS é que os pontos de controle Y não são restritos ao intervalo [0,1]. Quando Y ultrapassa 1 ou vai abaixo de 0, a animação ultrapassa o ponto final e retorna — criando o efeito de mola (spring/bounce) sem nenhuma linha de JavaScript.
Overshoot suave. Funciona bem para ícones, badges e toasts.
Fórmula popular para drawers e menus. Personalidade sem exagero.
É uma função matemática que define como uma animação CSS acelera e desacelera ao longo do tempo. Os quatro parâmetros (x1, y1, x2, y2) descrevem os pontos de controle de uma curva cúbica.
Transform (scale, translate) e opacity funcionam melhor porque são composited pelo GPU. Evite spring em propriedades de layout como width, height, padding — geram reflow e o efeito fica irregular.
Não. Framer-motion usa física de mola real (massa, rigidez, amortecimento) calculada frame a frame. CSS cubic-bezier é uma aproximação conveniente. Para efeitos sofisticados com múltiplos bounces ou que dependem de velocidade, JavaScript é necessário.
transition: transform 400ms cubic-bezier(0.4, 0, 0.2, 1);O CSS é gerado localmente no navegador.