Gli ultimi tutorial di sviluppo web
 

CSS transizioni


CSS3 Transitions

transizioni CSS3 consente di modificare i valori delle proprietà senza problemi (da un valore all'altro), in un determinato periodo.

Esempio: il mouse sopra l'elemento qui sotto per vedere un effetto di transizione CSS3:

CSS3

Supporto browser per Transitions

I numeri nella tabella indicano la prima versione del browser che supporta pienamente la proprietà.

Numeri seguiti da -webkit-, -moz- , o -o- specificare la prima versione che ha lavorato con un prefisso.

Proprietà
transition 26.0
4.0 -webkit-
10.0 16.0
4.0 -moz-
6.1
3.1 -webkit-
12.1
10.5 -o-
transition-delay 26.0
4.0 -webkit-
10.0 16.0
4.0 -moz-
6.1
3.1 -webkit-
12.1
10.5 -o-
transition-duration 26.0
4.0 -webkit-
10.0 16.0
4.0 -moz-
6.1
3.1 -webkit-
12.1
10.5 -o-
transition-property 26.0
4.0 -webkit-
10.0 16.0
4.0 -moz-
6.1
3.1 -webkit-
12.1
10.5 -o-
transition-timing-function 26.0
4.0 -webkit-
10.0 16.0
4.0 -moz-
6.1
3.1 -webkit-
12.1
10.5 -o-

Come usare CSS3 Transitions?

Per creare un effetto di transizione, è necessario specificare due cose:

  • la proprietà CSS che si desidera aggiungere un effetto a
  • la durata dell'effetto

Nota: Se la parte della durata non è specificato, la transizione non avrà alcun effetto, in quanto il valore di default è 0.

L'esempio seguente mostra una 100px * 100px rosso <div> elemento. Il <div> elemento ha anche specificato un effetto di transizione per la proprietà di larghezza, con una durata di 2 secondi:

Esempio

div {
    width: 100px;
    height: 100px;
    background: red;
    -webkit-transition: width 2s; /* Safari */
    transition: width 2s;
}

L'effetto di transizione inizierà quando la proprietà CSS specificata (larghezza) cambia il valore.

Ora, cerchiamo di specificare un nuovo valore per la proprietà width quando un utente mouse sopra il <div> elemento:

Esempio

div:hover {
    width: 300px;
}
Prova tu stesso "

Si noti che quando i topi cursore fuori l'elemento, sarà gradualmente tornare al suo stile originale.


Cambiare diversi valori di proprietà

L'esempio seguente aggiunge un effetto di transizione per la larghezza e la proprietà altezza, con una durata di 2 secondi per la larghezza e 4 secondi per l'altezza:

Esempio

div {
    -webkit-transition: width 2s, height 4s; /* Safari */
    transition: width 2s, height 4s;
}
Prova tu stesso "

Specificare la curva di velocità della transizione

La transition-timing-function proprietà specifica la curva di velocità dell'effetto di transizione.

La proprietà di transizione-timing-funzione può avere i seguenti valori:

  • ease - specifica un effetto di transizione con un avvio lento, poi veloce, poi finire lentamente (questa è l'impostazione predefinita)
  • linear - specifica un effetto di transizione con la stessa velocità dall'inizio alla fine
  • ease-in - specifica un effetto di transizione con un avvio lento
  • ease-out - specifica un effetto di transizione con una fine lenta
  • ease-in-out - specifica un effetto di transizione con un avvio lento e la fine
  • cubic-bezier(n,n,n,n) - consente di definire i propri valori in un cubic-bezier funzione

L'esempio seguente mostra l'alcune delle diverse curve di velocità che possono essere utilizzati:

Esempio

#div1 {transition-timing-function: linear;}
#div2 {transition-timing-function: ease;}
#div3 {transition-timing-function: ease-in;}
#div4 {transition-timing-function: ease-out;}
#div5 {transition-timing-function: ease-in-out;}
Prova tu stesso "

Ritardare l'effetto di transizione

La transition-delay proprietà specifica un ritardo (in secondi) per l'effetto di transizione.

L'esempio che segue ha un secondo di ritardo 1 prima della partenza:

Esempio

div {
    -webkit-transition-delay: 1s; /* Safari */
    transition-delay: 1s;
}
Prova tu stesso "

Transizione + Trasformazione

L'esempio seguente aggiunge anche una trasformazione per l'effetto di transizione:

Esempio

div {
    -webkit-transition: width 2s, height 2s, -webkit-transform 2s; /* Safari */
    transition: width 2s, height 2s, transform 2s;
}
Prova tu stesso "

Altri esempi di transizione

Le proprietà CSS3 di transizione possono essere specificati uno per uno, in questo modo:

Esempio

div {
    transition-property: width;
    transition-duration: 2s;
    transition-timing-function: linear;
    transition-delay: 1s;
}
Prova tu stesso "

o utilizzando la proprietà abbreviata transition :

Esempio

div {
    transition: width 2s linear 1s;
}
Prova tu stesso "

Mettiti alla prova con esercizi!

Esercizio 1 » Esercizio 2» Esercizio 3 » Esercizio 4» Esercizio 5 »


Proprietà CSS3 transizione

Nella tabella seguente sono elencate tutte le proprietà di transizione:

Proprietà Descrizione
transition Una proprietà scorciatoia per settare le quattro proprietà di transizione in una singola proprietà
transition-delay Specifica un ritardo (in secondi) per l'effetto di transizione
transition-duration Specifica il numero di secondi o millesimi di secondo un effetto di transizione necessario per completare
transition-property Specifica il nome della proprietà CSS l'effetto di transizione è per
transition-timing-function Specifica la curva di velocità dell'effetto di transizione