Pular para o conteúdo

Monte uma animação CSS @keyframes e copie a regra exata

A página abre como @keyframes kivMotion a 1400 ms, ease, uma iteração e keyframes em 0%, 50% e 100%, e cada quadro tem posição, deslocamento, rotação, escala e opacidade próprios. A prévia reproduz a mesma declaração animation que o painel de saída imprime e os dois blocos saem na ordem das posições.

Funciona localmente no seu navegador
· @keyframes · animation · timing
PAINEL DE CONTROLE
PRÉVIA
K
EXPORTAR CSS

Como moldar a animação e ler o CSS que você copia

A página abre como @keyframes kivMotion a 1400 ms, ease, uma iteração e keyframes em 0%, 50% e 100%. A prévia usa a mesma declaração animation que o painel de saída imprime: o que você reproduz é o que você copia.

Cada controle numérico tem um limite medido: duração 100-20000 ms, posição 0-100%, opacidade 0-1, deslocamento ±300 px, rotação ±720°, escala 0-4 e de dois a oito keyframes. Um valor fora do intervalo é gravado de volta no limite ao sair do campo; um campo vazio restaura o valor anterior em vez de virar zero.

  1. Dê um nome à animação. Letras, dígitos, - e _ permanecem; os demais caracteres viram -, o campo aceita 40 caracteres e o indicador mostra o identificador usado na exportação (my animation! vira my-animation e 动画 recorre a kivMotion).
  2. Ajuste a duração e escolha a função de tempo e as repetições. A duração é limitada a 100-20000 ms na confirmação; o menu oferece ease, linear, ease-in, ease-out, ease-in-out ou o preajuste overshoot cubic-bezier(0.34, 1.56, 0.64, 1), e 1, 2, 3 ou infinite repetições.
  3. Escolha um keyframe na lista e edite posição, opacidade, translateX/Y, rotação e escala. A posição guarda um decimal, x/y e a duração são inteiros, e opacidade e escala guardam dois decimais.
  4. Adicionar keyframe divide o maior intervalo e arredonda o ponto médio para um percentual inteiro; o novo começa em translate 0, rotate 0, scale 1, opacity 1, e o botão é desativado com oito keyframes. Remover mantém pelo menos dois. Reproduzir reinicia a animação na prévia.
  5. Copiar CSS coloca o painel de saída na área de transferência caractere por caractere; Redefinir volta a kivMotion, 1400 ms, ease, uma iteração e os três keyframes iniciais.

Valores iniciais, os limites gravados na confirmação e o que esta página não faz

Os dois blocos e a ordem de saída

A exportação contém a regra @keyframes com um bloco por keyframe, ordenados por posição, seguida da declaração .animated-element. Os keyframes saem por posição mesmo quando foram adicionados em outra ordem; a lista mantém a sua ordem e mostra a posição em cada item.

A forma curta é animation: <nome> <duração>ms <função> 0ms <repetições> both. Dois keyframes podem compartilhar a posição: os dois blocos são exportados e o último com o mesmo percentual é impresso por último.

De dois a oito keyframes e os limites na confirmação

Adicionar keyframe divide o maior intervalo e arredonda o ponto médio: a partir dos três iniciais os próximos caem em 25, 75, 13, 38 e 63% (lista final 0, 13, 25, 38, 50, 63, 75, 100). Com oito keyframes Adicionar é desativado; com dois, Remover avisa que são necessários pelo menos dois.

Os limites são aplicados ao sair do campo: 150 vira 100, -50 vira 0, opacidade 3 vira 1, escala 5 vira 4, translate 400px vira 300px e rotate 900deg vira 720deg. Esvaziar um campo restaura o valor anterior. A lista, os marcadores da linha do tempo e a exportação usam sempre os números guardados, então um keyframe em 150% não é mais descartado pelo analisador de CSS.

O que esta página não faz

Somente transform e opacity são animados por keyframe: não há cor, filtro ou fundo por keyframe, nem animation-delay, direction, fill ou play-state, e a classe exportada é sempre .animated-element. Tudo roda na página: mexer nos controles não envia nenhuma requisição de rede.

A aceleração vem do menu; a entrada overshoot imprime cubic-bezier(0.34, 1.56, 0.64, 1) em vez da palavra. Não há arraste na linha do tempo, exportação para GIF ou vídeo, nem um segundo elemento para comparar; posições repetidas são permitidas e os dois blocos são exportados.

Ferramentas recentes: