CSS animation
La proprietà CSS3 animation consente di creare animazioni su un elemento
La proprietà animation
di CSS permette di aggiungere animazioni agli elementi HTML, specificando una serie di passi (keyframes) e i parametri necessari, come la durata, il tipo di transizione e i tempi di inizio e fine. Con questa proprietà, è possibile animare praticamente qualsiasi proprietà CSS, come colori, dimensioni e posizioni, senza bisogno di ricorrere a JavaScript. L'animazione può essere impostata in modo continuo o solo una volta, a seconda delle necessità.
Sintassi
Significato dei valori principali:
-
name: il nome dell'animazione definita tramite i
@keyframes
. È il nome che identificherà l'animazione da applicare all'elemento. -
duration: la durata dell'animazione. È espressa in secondi (s) o millisecondi (ms) e determina quanto tempo impiega l'animazione a completarsi.
-
timing-function: la funzione di temporizzazione che controlla come viene distribuito il tempo nell'animazione. Può essere, ad esempio,
ease
,linear
,ease-in
,ease-out
ocubic-bezier()
. -
delay: il ritardo prima che l'animazione inizi. Può essere espresso in secondi (s) o millisecondi (ms).
-
iteration-count: il numero di volte che l'animazione verrà ripetuta. Può essere un numero specifico o
infinite
per un'animazione infinita. -
direction: la direzione in cui l'animazione si ripete. Può essere
normal
,reverse
,alternate
oalternate-reverse
. -
fill-mode: determina come l'elemento si comporta prima e dopo l'animazione. Può essere
none
,forwards
,backwards
, oboth
.
Esempio proprietà: animation
Codice Esempio: animation

@keyframes example {
0% {
opacity: 0;
transform: translateX(-100px);
}
100% {
opacity: 1;
transform: translateX(0);
}
}
.example-animation {
animation: example 2s ease-in-out 1s infinite alternate;
}
Contenuto Esempio: animation
Esempio di utilizzo di animation
con movimento e cambiamento di colore
In questo esempio, l'animazione muove l'elemento e cambia il suo colore durante il ciclo:
CSS e HTML per l'animazione:
<style>
/* Define the animation */
@keyframes moveAndColorChange {
0% {
background-color: blue;
transform: translateX(0);
}
50% {
background-color: green;
transform: translateX(200px);
}
100% {
background-color: red;
transform: translateX(0);
}
}
/* Apply animation to the element */
.animated-box {
width: 100px;
height: 100px;
margin: 50px;
background-color: blue;
animation: moveAndColorChange 3s ease-in-out infinite;
}
</style>
<div class="animated-box"></div>
Prova questo esempio
DEMO
Note:
Le indicazioni dei Browser supportati sono superate grazie alla loro costante evoluzione, si consiglia di verificare la compatibilità dei vari browser eseguendo il test cliccando qui sotto.