Come impostare i fotogrammi chiave di animazione CSS

Come Impostare I Fotogrammi Chiave Di Animazione Css



Il linguaggio HTML fornisce la struttura della pagina Web e CSS fornisce il design e la formattazione di tale applicazione. Questa combinazione ti consente anche di aggiungere animazioni, poiché gli elementi animati sembrano più attraenti rispetto agli elementi statici. Consente inoltre a un elemento di cambiare gradualmente il proprio stile.

Questo articolo guiderà come possiamo applicare l'animazione agli elementi. Quindi, cominciamo!







Cosa sono i fotogrammi chiave di animazione CSS?

Per completare l'animazione, dobbiamo associare l'animazione all'elemento HTML. A tale scopo, utilizzare la parola chiave ' @keyframe ” seguito dal nome dell'animazione. Questo componente specifica l'inizio e la fine dell'animazione.



Come impostare i fotogrammi chiave di animazione CSS?

Per impostare i fotogrammi chiave di animazione in CSS, esamineremo due esempi.



Esempio 1





Per impostare i fotogrammi chiave di animazione in CSS, eseguire i seguenti passaggi:

    • Aggiungi un
      con il nome della classe ' div-principale ”.
    • All'interno del div, aggiungi un altro div con il nome della classe ' img-peng ”.
    • All'interno di questo div img-peng, aggiungi per posizionare l'immagine. Questo tag ha tre attributi, il ' src ” attributo per fornire il percorso dell'immagine, “ Tutto quanto ” è il testo alternativo che viene aggiunto se l'immagine non viene visualizzata, e il “ larghezza ” per fornire la larghezza dell'immagine.

HTML



< div classe = 'div-principale' >
< div classe = 'img-peng' >
< imm src = 'immagini/pinguino.png' Tutto quanto = 'pinguino' larghezza = '100' >
div >
div >


CSS

.main-div {
larghezza: 90 % ;
altezza: 90px;
colore di sfondo: rgb ( 67 , 66 , 87 ) ;
margine: 20px automatico;
imbottitura: 10px;
}


Nei CSS, il ' .main-div ” viene aggiunto per accedere alla classe div. Le proprietà ad esso applicate sono spiegate di seguito:

    • larghezza Il valore della proprietà definisce la larghezza del div.
    • altezza La proprietà ” viene utilizzata per impostare l'altezza del div.
    • colore di sfondo La proprietà ” applica il colore allo sfondo dell'elemento.
    • margine ” è impostato come “ 20px auto ”, che indica lo spazio dall'alto e dal basso, e auto significa uguale spazio da sinistra e da destra.
    • imbottitura Il valore della proprietà viene assegnato come 10px, che applica spazio attorno al contenuto dell'elemento.

Stile img-peng class

.img-peng {
larghezza: 50px;
altezza: 100px;
posizione: relativa;
animazione: agitare;
durata dell'animazione: 2s;
funzione di temporizzazione dell'animazione: 2s;
conteggio-iterazione-animazione: infinito;
}


Il ' .img-peng ” viene utilizzato per accedere alla classe div, menzionata nel file HTML sopra. Questo elemento div ha uno stile con le proprietà discusse di seguito:

    • larghezza Il valore della proprietà viene utilizzato per impostare la larghezza dell'elemento.
    • altezza Il valore della proprietà viene utilizzato per impostare l'altezza dell'elemento.
    • posizione ” alla proprietà viene assegnato il valore “ parente ”, il che significa che sarà posizionato rispetto alla sua posizione normale.
    • animazione ” il nome è dato come “ scuotere ”. Tuttavia, puoi assegnare un nome all'animazione in base ai requisiti.
    • animazione-durata ” rappresenta la durata dell'animazione, che è di 2 secondi.
    • funzione di temporizzazione dell'animazione ” viene assegnato un valore di 2s che significa che in 2 secondi l'animazione è completata.
    • conteggio-iterazione-animazione ” è impostato come infinito, il che significa che questa animazione avverrà in un tempo infinito.

Definisci @keyframes Con to e from keywords

@ i fotogrammi chiave tremano {
da {
in alto: 50px;
}

a {
margine inferiore: 200px;
}
}


La descrizione dei fotogrammi chiave di animazione impostati sull'immagine è elencata di seguito:

    • @keyframes scuotere ' si riferisce al nome dell'animazione shake seguito dalla parola chiave @keyframes. All'interno di questa regola viene specificato il comportamento dell'animazione.
    • All'interno delle sue parentesi graffe, il ' da ' e ' a Le parole chiave ” specificano intervalli diversi per definire il comportamento dell'animazione.
    • Il ' superiore ” viene assegnato il valore di 50px, il che significa che l'animazione inizia da 50px dalla parte superiore dello schermo e continua fino a 200px nella parte inferiore.

Di conseguenza, vedrai il seguente output:


Ora lascia che l'animazione si comporti in modo diverso a intervalli diversi. Per fare ciò, utilizza le percentuali di animazione nei @keyframes.

Specifica @keyframes con percentuali

@ i fotogrammi chiave tremano {
0 % {
sinistra: -50 pixel ;
}

25 % {
sinistra: 50px;
}

cinquanta % {
sinistra: -25px ;
}

75 % {
sinistra: 25px;
}

100 % {
sinistra: 10px;
}
}


Quindi, la descrizione del frammento di codice sopra è menzionata qui:

    • I valori percentuali 0%, 25%, 50%, 75% e 100% rappresentano l'animazione a diversi intervalli.
    • Inoltre, allo 0%, lo spazio a sinistra dell'immagine sarà “ -50 pixel ”. Al 25%, lo spazio a sinistra sarà ' 50 pixel ”. Al 50%, lo spazio a sinistra sarà ' -25px ”. Al 75%, lo spazio a sinistra sarà ' 25px ', e al termine dell'animazione (100%), lo spazio a sinistra sarà ' 10px ”.

Il codice sopra mostra la seguente animazione:


Facciamo un altro esempio per vedere come possiamo impostare le animazioni sulle immagini.

Esempio 2

In HTML, aggiungi un

con il nome della classe ' pagina principale ”. All'interno di questo elemento
, posiziona altri due tag div con le classi ' nuvola1 ' e ' nuvola2 ”, rispettivamente.

HTML

< div classe = 'pagina principale' >
< div classe = 'nuvola1' > div >
< div classe = 'nuvola2' > div >
div >


CSS

corpo {
margine: 0 ;
imbottitura: 0 ;
}


In CSS, assegneremo le seguenti proprietà CSS all'elemento body:

    • margine La proprietà ” come 0 non specifica nessuno spazio attorno all'elemento.
    • imbottitura La proprietà ” con il valore 0 non specifica nessuno spazio attorno al contenuto dell'elemento.

Stile div pagina principale

.pagina principale {
immagine di sfondo: url ( / immagini / notte-lupo.png ) ;
background-repeat: nessuna ripetizione;
dimensione dello sfondo: copertina;
altezza: 100 vh;
posizione: relativa;
trabocco: nascosto;
}


Qui:

    • .pagina principale ” viene utilizzato per accedere alla classe div.
    • immagine di sfondo ” alla proprietà viene assegnato il valore “ url(/images/lupo-notte.png) ” dove images è la cartella che contiene l'immagine wolf-night.png.
    • sfondo-ripetizione ” alla proprietà viene assegnato il valore “ senza ripetizione , il che significa che l'immagine verrà visualizzata una volta.
    • dimensione dello sfondo ” è impostato come “ coperchio ” per riempire l'intero elemento div.
    • altezza ” è 100vh che è il 100% dell'altezza del viewport.
    • posizione ” as relative imposta la posizione dell'immagine rispetto alla sua posizione corrente.
    • traboccare Il valore della proprietà è impostato come nascosto per nascondere la parte dell'immagine che è troppo grande per entrare nel contenitore.

Classe stile cloud1

.nuvola1 {
immagine di sfondo: url ( / immagini / nuvola.png ) ;
background-size: contenere;
background-repeat: nessuna ripetizione;
posizione: assoluta;
in alto: 100px;
larghezza: 500px;
altezza: 300px;
animazione: cloudanimation1;
durata dell'animazione: anni '70;
conteggio-iterazione-animazione: infinito;
}


La classe div cloud1 viene applicata con le seguenti proprietà spiegate:

    • .nuvola1 ” viene utilizzato per accedere alla classe div cloud1.
    • immagine di sfondo ” è impostata come url(/images/cloud.png), dove images è la cartella contenente l'immagine cloud.png.
    • dimensione dello sfondo ” con il valore “ contenere ” garantisce la visibilità dell'immagine.
    • sfondo-ripetizione ” proprietà con il valore impostato come “ senza ripetizione ” visualizza l'immagine come non ripetuta.
    • posizione ” come assoluto posiziona l'immagine rispetto all'elemento del suo genitore.
    • superiore ” imposta l'immagine a 100px dall'alto.
    • larghezza La proprietà ” viene utilizzata per impostare la larghezza dell'elemento div su 500px.
    • altezza La proprietà ” viene utilizzata per impostare l'altezza dell'elemento div su 300px.
    • animazione ” viene assegnato il nome cloudanimation1.
    • animazione-durata ” rappresenta la durata dell'animazione, che è di 70 secondi.
    • conteggio-iterazione-animazione ” viene assegnato il valore infinito, che itererà l'animazione infinite volte.

Finora abbiamo applicato le proprietà CSS alla pagina principale della classe div e a cloud1. Ora, nella sezione successiva, definiremo lo stile della prossima classe div denominata cloud2.

Classe stile cloud2

.nuvola2 {
immagine di sfondo: url ( / immagini / nuvola.png ) ;
background-size: contenere;
background-repeat: nessuna ripetizione;
posizione: assoluta;
in alto: 50px;
larghezza: 200px;
altezza: 300px;
animazione: cloudanimation2;
durata dell'animazione: 15s;
conteggio-iterazione-animazione: infinito;
}


La classe div cloud2 viene applicata con le proprietà spiegate di seguito:

    • .nuvola2 ” serve per accedere alla classe cloud2.
    • immagine di sfondo ” è impostata come url(/images/cloud.png), dove l'immagine è una cartella che contiene l'immagine cloud.png.
    • dimensione dello sfondo ” contiene un valore che garantisce la visibilità dell'immagine.
    • sfondo-ripetizione ” con il valore impostato come no-repeat visualizza l'immagine come non-repeat.
    • posizione ” come assoluto posiziona l'immagine rispetto all'elemento del suo genitore.
    • superiore ” imposta l'immagine a 100px dall'alto.
    • larghezza La proprietà ” viene utilizzata per impostare la larghezza dell'elemento div.
    • altezza La proprietà ” viene utilizzata per impostare l'altezza dell'elemento div.
    • animazione ” viene assegnato il nome cloudanimation2.
    • animazione-durata ” rappresenta la durata dell'animazione.
    • conteggio-iterazione-animazione ” viene assegnato il valore infinito, che itererà l'animazione infinite volte.

Specifica @keyframes per cloudanimation1

@ fotogrammi chiave cloudanimation1 {
a {
sinistra: 0px;
}

da {
sinistra: 100 % ;
}
}


Il div cloud1 è associato all'animazione descritta di seguito:

    • @keyframes cloudanimation1 ” il nome dell'animazione cloudanimation1 è seguito dalla parola chiave @keyframes utilizzata per specificare la transizione.
    • La parola chiave @keyframes specifica come viene eseguita l'animazione dall'inizio alla fine sulle immagini cloud.
    • Il ' a ' e ' da ' le parole chiave specificano che il cloud1 si sposterà dal 100% allo 0px dello schermo.

Specifica @keyframes per cloudanimation2

@ fotogrammi chiave cloudanimation2 {
0 % {
sinistra: 0 % ;
}

100 % {
sinistra: 100 % ;
}
}


La classe div cloud2 è associata all'animazione spiegata di seguito:

    • @keyframes cloudanimation2 ” rappresenta il nome dell'animazione cloudanimation2 seguito dalla parola chiave @keyframes utilizzata per specificare l'animazione.
    • Il ' 0% ' e ' 100% ” rappresentano l'inizio e la fine dell'animazione.
    • Allo 0% dell'animazione, la nuvola sarebbe a sinistra con il valore impostato come 0% e si sposterà gradualmente al 100% della larghezza.

Produzione


Questo è figo! Abbiamo discusso di come possiamo specificare correttamente l'animazione degli elementi utilizzando la parola chiave @keyframes.

Conclusione

I CSS ci permettono di applicare stili agli elementi HTML. L'animazione in CSS esegue transizioni da uno stile all'altro. Consiste di due componenti, gli stili di animazione e i fotogrammi chiave. Gli stili di animazione rappresentano proprietà diverse come il nome, la durata dell'animazione, il conteggio delle iterazioni dell'animazione e altro ancora. Mentre il componente keyframe definisce l'inizio e la fine dell'animazione. Questa guida ha spiegato come impostare i fotogrammi chiave di animazione con esempi.