0

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.

Arraste a alça laranja (P1) e a alça vermelha (P2) para remodelar a curva – as teclas de seta também funcionam. X permanece preso entre 0 e 1 conforme exigido pelo CSS; arraste uma alça acima ou abaixo da caixa para enviar y além desse intervalo para efeitos de ultrapassagem e salto.

Sua curva

Linear (para comparação)

Processando... 0%

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.