Generatore di Keyframes CSS

Risultati

Una regola @keyframes definisce le tappe di un’animazione: come appare l’elemento all’inizio, a metà e alla fine. Questo generatore scrive la regola per quattro movimenti comuni: dissolvenza con scorrimento, pulsazione, rotazione e rimbalzo. Dai un nome all’animazione, imposta la durata e, per i movimenti di scorrimento e rimbalzo, la distanza di spostamento in pixel. Il risultato è la proprietà abbreviata animation più il blocco @keyframes, pronto da incollare nel tuo foglio di stile.

Come generare i keyframes

  1. 1

    Scegli il tipo di animazione

    Dissolvenza con scorrimento, pulsazione, rotazione o rimbalzo. Ogni preimpostazione include fotogrammi già pronti.

  2. 2

    Dai un nome all'animazione

    Un nome in kebab-case come `fade-slide`, usato poi nella proprietà abbreviata `animation`.

  3. 3

    Imposta la durata

    In secondi, ad esempio 0.6 per una transizione rapida.

  4. 4

    Imposta la distanza (scorrimento e rimbalzo)

    La distanza di spostamento in pixel, usata per il movimento verticale.

  5. 5

    Copia il CSS

    La proprietà abbreviata più il blocco `@keyframes`, pronti per il tuo foglio di stile.

Le quattro preimpostazioni

Dissolvenza con scorrimento

.animated {
  animation: fade-slide 0.6s ease both;
}

@keyframes fade-slide {
  from { opacity: 0; transform: translateY(24px); }
  to   { opacity: 1; transform: translateY(0); }
}

L’elemento appare mentre scorre dal basso verso l’alto.

Pulsazione

@keyframes pulse {
  0%, 100% { transform: scale(1); opacity: 1; }
  50%      { transform: scale(1.05); opacity: .8; }
}

Un effetto di respiro delicato, adatto ai punti di notifica e ai badge.

Rotazione

@keyframes spin {
  from { transform: rotate(0deg); }
  to   { transform: rotate(360deg); }
}

Una rotazione completa, utile per loader e icone.

Rimbalzo

@keyframes bounce {
  0%, 100% { transform: translateY(0); }
  50%      { transform: translateY(-24px); }
}

L’elemento salta verso l’alto e torna giù.

Perché transform e opacity?

I browser compongono transform e opacity sulla GPU senza ricalcolare il layout né ridisegnare, quindi animarli resta fluido. Le preimpostazioni evitano di proposito le proprietà che attivano il ricalcolo del layout.

La proprietà abbreviata animation

animation: fade-slide 0.6s ease both; si legge così: l’animazione chiamata fade-slide, della durata di 0.6 secondi, con l’easing predefinito ease. La modalità di riempimento both applica lo stato iniziale prima dell’inizio dell’animazione e conserva lo stato finale al termine, evitando che l’elemento lampeggi prima o torni indietro di colpo dopo il movimento.

Convenzioni sui nomi

  • Usa il kebab-case, come da convenzione CSS.
  • Descrivi il movimento, non l’elemento: fade-in-up è meglio di alert-appear.
  • Evita nomi che possano entrare in conflitto con librerie di terze parti.

Supporto dei browser

@keyframes è universale, supportato da tutti i browser fin da IE 10.

Domande frequenti

La dissolvenza con scorrimento per i contenuti che entrano nella pagina, come card, banner o dialoghi. La pulsazione per punti di attenzione, badge e pulsanti che devono risaltare. La rotazione per loader e icone di avanzamento. Il rimbalzo per un’enfasi giocosa, come una freccia di invito all’azione.

La distanza è lo spostamento verticale in pixel per le preimpostazioni di scorrimento e rimbalzo: l’animazione di dissolvenza parte 24px più in basso e sale, il rimbalzo salta 24px verso l’alto e torna giù. La preimpostazione di rotazione non la usa.

Sì, il risultato è CSS puro. Sostituisci ease con qualsiasi parola chiave di easing o un valore cubic-bezier(...), e aggiungi percentuali intermedie come 25% o 75% dentro il blocco @keyframes per dare più forma al movimento.

Perché un ri-render del framework può riapplicare la classe e far ripartire l’animazione. Usa animation-fill-mode: both (già presente nel risultato) per mantenere lo stato finale, oppure stacca il trigger dell’animazione dall’elemento che viene ri-renderizzato.

Strumenti correlati