PROGRAMMIAMO
HTML - Transizioni con i CSS

Le transizioni

L'uso della pseudoclasse hover consente di cambiare lo stile di un elemento quando il mouse vi passa sopra. Si consideri l'esempio qui sotto:

div {
width: 100px;
height: 100px;
background-color: #98d925;
border: 2px solid #009F16;
}

div:hover {
width: 70%;
opacity: 0.4;
margin-left: 0.6in;
border-width: 10px;
}

In questo caso nella pagina è presente un quadrato colorato (realizzato con un div). Passando col mouse su di esso, le sue dimensioni cambiano, come si può vedere dall'esempio qui sotto:

Con i fogli stile CSS3 è possibile temporizzare le transizioni, cioè assegnare loro una durata. Si osservi l'esempio seguente, leggermente modificato rispetto a prima:

div {
width: 100px;
height: 100px;
background-color: #98d925;
border: 2px solid #009F16;

transition-property: width, opacity, margin-left, border-width;
transition-duration: 2s;
}

div:hover {
width: 70%;
opacity: 0.4;
margin-left: 0.6in;
border-width: 10px;
}

L'effetto prodotto è mostrato qui sotto:

Come si può osservare ora, quando si passa col mouse sul quadrato viene avviata una transizione graduale della durata di 2 secondi.

ATTENZIONE: le proprietà di transizione, trasformazione e animazione non sono supportate da tutti i browser nello stesso modo. In alcuni casi occorre modificare la sintassi standard per adattarla al particolare browser. La situazione è in continua evoluzione, con un numero sempre maggiore di browser che adottano la sintassi CSS3 standard. Non si ritiene opportuno in questa sede approfondire ulteriormente l'argomento. Tutti gli esempi forniti funzionano correttamente con l'ultima versione di Chrome.

La sintassi delle transizioni è abbastanza semplice:

transition-property: elenco proprietà;
transition-duration: durata;

L'elenco delle proprietà indica quali proprietà dell'oggetto devono essere soggette a transizione e la durata (espressa in secondi o in millisecondi) indica la durata della transizione stessa.

ATTENZIONE: si osservi che le proprietà della transizione devono essere specificate sul selettore dell'elemento (nel nostro caso DIV) e NON sul selettore della pseudoclasse hover.

E' inoltre possibile specificare un tempo di ritardo sull'avvio della transizione (dal momento in cui il mouse passa sull'elemento) e anche fornire tempi diversi per le diverse proprietà su cui applicare la transizione, come nel seguente esempio:

div {
width: 100px;
height: 100px;
background-color: #98d925;
border: 2px solid #009F16;

transition-property: width, opacity, margin-left, border-width;
transition-duration: 2s, 3s, 2s, 2s;
transition-delay: 4s, 1s, 0s, 0s;
}

div:hover {
width: 70%;
opacity: 0.4;
margin-left: 0.6in;
border-width: 10px;
}

che produce questo effetto:

 

 

precedente - successiva

Sito realizzato in base al template offerto da

http://www.graphixmania.it