Recherche…


Syntaxe

  • transition: [propriété de transition] [durée de transition] [fonction de synchronisation de transition] [délai de transition];

Paramètres

Paramètre Détails
propriété de transition La propriété CSS spécifique dont la valeur doit être modifiée (ou) all , si toutes les propriétés de transition doivent être transférées.
durée de transition La durée (ou la période) en secondes ( s ) ou millisecondes ( ms ) sur laquelle la transition doit avoir lieu.
fonction de transition-timing Une fonction qui décrit comment les valeurs intermédiaires pendant la transition sont calculées. Les valeurs couramment utilisées sont la ease , la ease-in , la ease-out , la ease-in-out , la linear , le cubic-bezier() , les steps() . Vous trouverez plus d'informations sur les différentes fonctions de synchronisation dans les spécifications du W3C .
retard de transition La quantité de temps qui doit s’être écoulée avant que la transition ne puisse commencer. Peut être spécifié en secondes ( s ) ou millisecondes ( ms )

Remarques

Certains anciens navigateurs ne prennent en charge que les propriétés de transition préfixées par le fournisseur :

  • -webkit : Chrome 25-, Safari 6-, Safari et Chrome pour iOS 6.1-, Android 4.3- Navigateur, Blackberry Browser 7-, UC Browser 9.9- pour Android.
  • -moz : Firefox 15-.
  • -o : Opera 11.5-, Opera Mobile 12-.

Exemple:

-webkit-transition: all 1s;
-moz-transition: all 1s;
-o-transition: all 1s;
transition: all 1s;

Sténographie de transition

CSS

div{
    width: 150px;
    height:150px;
    background-color: red;
    transition: background-color 1s;
}
div:hover{
    background-color: green;
}

HTML

<div></div>

Cet exemple changera la couleur de fond lorsque le div sera survolé, le changement de couleur d'arrière-plan durera 1 seconde.

Transition (longhand)

CSS

div {
  height: 100px;
  width: 100px;
  border: 1px solid;
  transition-property: height, width;
  transition-duration: 1s, 500ms;
  transition-timing-function: linear;
  transition-delay: 0s, 1s;
}
div:hover {
  height: 200px;
  width: 200px;
}

HTML

<div></div>
  • transition-property : Spécifie les propriétés CSS de l'effet de transition. Dans ce cas, le div se développera horizontalement et verticalement lorsqu'il sera survolé.
  • transition-duration : Spécifie la durée d' exécution d'une transition. Dans l'exemple ci-dessus, les transitions en hauteur et en largeur prendront respectivement 1 seconde et 500 millisecondes.
  • transition-timing-function : Spécifie la courbe de vitesse de l'effet de transition. Une valeur linéaire indique que la transition aura la même vitesse du début à la fin.
  • transition-delay : Spécifie la durée d'attente avant le démarrage de l'effet de transition. Dans ce cas, la hauteur commencera à faire la transition immédiatement, alors que la largeur attendra 1 seconde.

cubic-bezier

La fonction cubic-bezier est une fonction de synchronisation de transition qui est souvent utilisée pour des transitions personnalisées et fluides.

transition-timing-function: cubic-bezier(0.1, 0.7, 1.0, 0.1);

La fonction prend quatre paramètres:

cubic-bezier(P1_x, P1_y, P2_x, P2_y)

cubic-bezier

Ces paramètres seront mappés sur des points faisant partie d'une courbe de Bézier :

bezier-curve

Pour les courbes CSS de Bézier, P0 et P3 sont toujours au même endroit. P0 est à (0,0) et P3 à (1,1), ce qui signifie que les paramètres passés à la fonction cubique-bezier ne peuvent être qu'entre 0 et 1.

Si vous passez des paramètres qui ne sont pas dans cet intervalle, la fonction passera par défaut à une transition linear .

Comme cubic-bezier est la transition la plus flexible en CSS, vous pouvez traduire toutes les autres fonctions de synchronisation de la transition en fonctions cubiques-bezier:

linear : cubic-bezier(0,0,1,1)

ease-in : cubic-bezier(0.42, 0.0, 1.0, 1.0)

ease-out : cubic-bezier(0.0, 0.0, 0.58, 1.0)

ease-in-out : cubic-bezier(0.42, 0.0, 0.58, 1.0)



Modified text is an extract of the original Stack Overflow Documentation
Sous licence CC BY-SA 3.0
Non affilié à Stack Overflow