Transizioni in CSS
Le transizioni CSS permettono di cambiare in modo fluido i valori delle proprietà , con una durata specifica.
Ecco una lista delle proprietà legate alle transizioni:
- transition
- transition-delay
- transition-duration
- transition-property
- transition-timing-function
Come creare una Transizione
Per creare un effetto di transizione, devi specificare due cose:
- la proprietà CSS a cui vuoi aggiungere un effetto
- la durata dell’effetto
L’effetto di transizione inizierà quando la proprietà CSS specificata (larghezza) cambierà valore.
Ora, specifichiamo un nuovo valore per la proprietà larghezza quando un utente passa il mouse sull’elemento <div>
:
Nota che quando il cursore esce dall’elemento, esso tornerà gradualmente al suo stile originale.
Cambia re più ProprietÃ
L’esempio seguente aggiunge un effetto di transizione sia per la proprietà larghezza che per l’altezza, con una durata di 2 secondi per la larghezza e 4 secondi per l’altezza:
Curva di Velocità della Transizione
La proprietà transition-timing-function specifica la curva di velocità dell’effetto di transizione.
La proprietà transition-timing-function può avere i seguenti valori:
- ease - specifica un effetto di transizione con un inizio lento, poi veloce, poi fine lento (predefinito)
- linear - specifica un effetto di transizione con la stessa velocità dall’inizio alla fine
- ease-in - specifica un effetto di transizione con un inizio lento
- ease-out - specifica un effetto di transizione con una fine lenta
- ease-in-out - specifica un effetto di transizione con un inizio e una fine lenti
- cubic-bezier(n,n,n,n) - ti permette di definire i tuoi valori in una funzione cubic-bezier
Ritardare l’Effetto della Transizione
La proprietà transition-delay specifica un ritardo in secondi per l’effetto di transizione.
L’esempio seguente ha un ritardo di 1 secondo prima dell’inizio:
Transizione + Trasformazione
L’esempio seguente aggiunge un effetto di transizione alla trasformazione:
Altri Esempi di Transizione
Le proprietà di transizione CSS possono essere specificate una per una, in questo modo:
oppure usando la proprietà abbreviata transition: