Curva de flexibilização CSS estilo Bounce
Projete uma função de temporização CSS cube-bezier() personalizada arrastando dois pontos de controle, visualize-a ao vivo em uma referência linear e copie o valor pronto.
Resultado
Esta página abre o gerador com x1=0,68, y1=-0,55, x2=0,265, y2=1,55 já carregado — uma curva de overshoot que algumas bibliotecas de atenuação rotulam como easyOutBack. O y1 negativo e o y2 acima de 1 são exatamente o motivo pelo qual a visualização da animação abaixo ultrapassa o início e o fim antes de se estabilizar; arraste uma das alças ou edite os números para tornar o efeito mais forte ou mais suave.
Sendo honesto sobre o que isso é: uma única curva cúbica-bezier() tem apenas dois pontos de controle, portanto, pode aproximar-se de um movimento de ultrapassagem e acomodação, e não de um salto físico genuíno de vários saltos com vários saltos decrescentes. Para um efeito literal de salto de bola, você precisaria de vários quadros-chave ou segmentos steps() encadeados - esta curva é o mais próximo que uma função de tempo de transição simples pode chegar em uma linha.
Esse único overshoot ainda é exatamente o que a maioria das UIs saltitantes deseja: um botão que ultrapassa um pouco seu tamanho de repouso, um modal que ultrapassa antes de se acomodar, um cartão que se encaixa no lugar. Copie o valor como está para obter uma sensação rápida ou suavize y1 em direção a 0 e y2 em direção a 1 para reduzir o overshoot.