Animazioni con CSS3

Impariamo cosa sono e come si usano i @keyframes

17/01/2012 | Css
Animazioni con CSS3 | Impariamo cosa sono e come si usano i @keyframes

Analizziamo e studiamo le proprietà CSS3 che occorrono per creare delle gradevoli e semplici animazioni senza utilizzare flash, swish, javascript o chi per essi.

Per creare delle animazioni ci occorre una sorta di linea temporale (come Flash) che in questo caso è sostituita dalla proprietà CSS animation.

Bisogna conoscere ed utilizzare @keyframes, dargli un nome e successivamente generare dei passi in percentuale all'interno di questa dichiarazione.

Le @keyframes sono quelle regole che permettono agli elementi ai quali sono applicate di modificare gradualmente nel corso del tempo.

Vediamo un esempio

@keyframes nomeanimazione {
  from ( color: red; )
  35% ( color: green; )
  to ( color: blue )


@-moz-keyframes nomeanimazione /* Firefox */ 
{
  from ( color: red; )
  35% ( color: green; )
  to ( color: blue ) 
}

@-webkit-keyframes nomeanimazione /* Safari e Chrome */
{
  from ( color: red; )
  35% ( color: green; )
  to ( color: blue )  

Le parole from e to corrispondono rispettivamente allo 0% e al 100% della nostra linea temporale. 35%, invece, corrisponde all'intervallo temporale in cui vogliamo che il nostro elenento diventi verde. 

Le altre proprietà di animation sono le seguenti:

animation-name: il nome della nostra nimazione
animation-delay: il ritardo che deve subire l'animazione (default 0) 
animation-duration: il tempo della durata in secondi dell'animazione (default 0)
animation-timing-function: il metodo di interpolazione dell'animazione (accelerazione o decelerazione)  (default ease) 
animation-direction: la direzione dell'animazione  (normal, linear, ecc...)  
animation-iteration-count: quante volte si deve ripetere l'animazione (default 1) 
animation-play-state: se deve partire o meno quando viene mostrata (running o paused)

Supporto browser

@keyframes
Internet Explorer: NO
Mozilla: SI (-moz)
Chrome: SI (-webkit)
Safari: SI (-webkit)
Opera: NO

Vediamo adesso un esempio complesso.
Cambiamo posizione e colore a un quadrato.
(non funziona in Internet Explorer e Opera)

div
{
width:100px;
height:100px;
background:red;
position:relative;
animation-name:myfirst;
animation-duration:5s;
animation-timing-function:linear;
animation-delay:2s;
animation-iteration-count:infinite;
animation-direction:alternate;
animation-play-state:running;
/* Firefox: */
-moz-animation-name:myfirst;
-moz-animation-duration:5s;
-moz-animation-timing-function:linear;
-moz-animation-delay:2s;
-moz-animation-iteration-count:infinite;
-moz-animation-direction:alternate;
-moz-animation-play-state:running;
/* Safari and Chrome: */
-webkit-animation-name:myfirst;
-webkit-animation-duration:5s;
-webkit-animation-timing-function:linear;
-webkit-animation-delay:2s;
-webkit-animation-iteration-count:infinite;
-webkit-animation-direction:alternate;
-webkit-animation-play-state:running;
}
@keyframes myfirst
{
0%   {background:red; left:0px; top:0px;}
25%  {background:yellow; left:200px; top:0px;}
50%  {background:blue; left:200px; top:200px;}
75%  {background:green; left:0px; top:200px;}
100% {background:red; left:0px; top:0px;}
}
@-moz-keyframes myfirst /* Firefox */
{
0%   {background:red; left:0px; top:0px;}
25%  {background:yellow; left:200px; top:0px;}
50%  {background:blue; left:200px; top:200px;}
75%  {background:green; left:0px; top:200px;}
100% {background:red; left:0px; top:0px;}
}
@-webkit-keyframes myfirst /* Safari and Chrome */
{
0%   {background:red; left:0px; top:0px;}
25%  {background:yellow; left:200px; top:0px;}
50%  {background:blue; left:200px; top:200px;}
75%  {background:green; left:0px; top:200px;}
100% {background:red; left:0px; top:0px;}

Qui l'esempio funzionante

E tu hai mai usato le animazioni in CSS3?
Cosa ne pensi? 




Commenta

Codice antispam: B4SZK

 

Let's talk about



Services

Twitter updates

Socio Accreditato
  • Giovanni Sodano fa parte del Microsoft Partner Program
  • Giovanni Sodano e' iscritto all'Associazione IWA-ITALY - International Webmasters Association Italia come Socio Ordinario
Partner
  • numero verde aziendale ricaricabile
Like and Use
  • Microsoft .NET un linguaggio comune che possa essere capito da qualsiasi applicazione o sistema operativo
  • Oracle, il database ad alte prestazioni più usato al mondo
  • Python is a programming language that lets you work more quickly and integrate your systems more effectively
  • Adobe, software solution for graphics and developing
Posizionamento sui motori di ricerca

Online si... ma visibili!

Avere un sito web non vuol dire soltanto essere al passo con i tempi, ma creare un binario di comunicazione tra domanda ed offerta: è un modo, dunque, per proporre il proprio business a nuovi potenziali clienti.

  • Ma come fare in modo che il messaggio arrivi al target prefissato?
  • Come posizionare il proprio sito web ai primi posti su motori di ricerca?
  • Come essere certi che la nostra landing page generi la conversione che ci aspettiamo?
  • Come fare in modo che il nostro sito internet lavori per noi H24?

Un sito web aziendale deve garantire un ritorno di immagine, deve spingere, autonomamente, i nostri servizi, e deve offrire una panoramica completa circa i nostri prodotti e servizi.

Ecco perchè essere ai primi posti sui principali motori di ricerca diventa fondamentale per chiunque abbia una propria vetrina online.

Statistiche rivelano, infatti, che l'85% degli utenti cerca su internet ciò di cui ha bisogno attraverso ricerche mirate sui principali motori di ricerca (Google, Bing, Yahoo) e di questi, il 90% non si spinge oltre la terza pagina di risultati, ossia oltre il trentesimo suggerimento della serp.

Ecco perchè studiare delle strategie ad hoc per posizionare nel modo giusto il proprio sito, ed in particolare le pagine dei nostri prodotti e servizi.

la struttura del tuo sito contribuisce al successo della tua attività

Web semantico

Content is the King, ovvero il contenuto e l'impaginazione dello stesso può portare reali benefici al posizionamento delle proprie landing page. Chiedimi come.

ottimizzazione e posizionamento SEO sui motori di ricerca

Ottimizzazione SEO

Se non ti trovano, non esisti... È questo il principio sul quale si basano i miei interventi di ottimizzazione lato codice. Scopri i miei servizi SEO.

Analisi sito web

Da oggi puoi richiedere gratuitamente, e senza impegno l'analisi del tuo sito.
Ne valuterò la struttura e la qualità dei contenuti; l'estetica e l'effettiva presenza in rete, nonchè l'importanza che ha presso i motori di ricerca.

Compila il form sottostante








B4SZK