transition |
Transition |
---|---|
CSS3 |
Syntaxe
transition: property duration timing-function delay|inherit|initial; |
Paramètres
Paramètre | Description | |
---|---|---|
property | Ce paramètre permet d'indiquer le nom de la propriété CSS d'effet de transition : | |
Valeur | Description | |
property | Cet attribut permet d'indiquer une liste, séparé par des virgules, de noms de propriétés CSS d'effet de transition. | |
all | Cet attribut permet d'indiquer toutes les propriétés d'effet de transition. C'est la valeur par défaut. | |
inherit | Cet attribut permet d'indiquer qu'il faut hérité de la valeur de son parent. | |
initial | Cet attribut permet d'indiquer qu'il faut appliquer la valeur par défaut de cette propriété. | |
none | Cet attribut permet d'indiquer aucune propriété d'effet de transition. | |
duration | Ce paramètre permet d'indiquer combien de secondes ou millisecondes un effet de transition prend pour être complété : | |
Valeur | Description | |
temps | Cet attribut permet d'indiquer le nombre de secondes ou de millisecondes que doit durée l'effet de transition avant d'être complété. La valeur par défaut est 0. | |
inherit | Cet attribut permet d'indiquer qu'il faut hérité de la valeur de son parent. | |
initial | Cet attribut permet d'indiquer qu'il faut appliquer la valeur par défaut de cette propriété. | |
timing-function | Ce paramètre permet de fixer la vitesse de la courbe dans un effet de transition : | |
Valeur | Description | |
cubic-bezier(n,n,n,n) | Cet attribut permet de définir manuellement la fonction cubique-Bézier. Les valeurs possibles sont des valeurs entre 0 et 1. | |
ease | Cet attribut permet d'indiquer que l'effet de transition démarre lentement, accélère, et ralentis à la fin. C'est la valeur par défaut. | |
ease-in | Cet attribut permet d'indiquer que l'effet de transition est lent au début. | |
ease-in-out | Cet attribut permet d'indiquer que l'effet de transition est lente au début et à la fin. | |
ease-out | Cet attribut permet d'indiquer que l'effet de transition est lent à la fin. | |
inherit | Cet attribut permet d'indiquer qu'il faut hérité de la valeur de son parent. | |
initial | Cet attribut permet d'indiquer qu'il faut appliquer la valeur par défaut de cette propriété. | |
linear | Cet attribut permet d'indiquer que l'effet de transition a la même vitesse au début et à la fin. | |
delay | Ce paramètre permet d'indiquer quand l'effet de transition doit commencé : | |
Valeur | Description | |
temps | Cet attribut permet d'indiquer le nombre de secondes ou de millisecondes à attendre avant que l'effet de transition commence. | |
inherit | Cet attribut permet d'indiquer qu'il faut hérité de la valeur de son parent. | |
initial | Cet attribut permet d'indiquer qu'il faut appliquer la valeur par défaut de cette propriété. | |
inherit | Ce paramètre permet d'indiquer qu'il faut hérité de la valeur de son parent. | |
initial | Ce paramètre permet d'indiquer qu'il faut appliquer la valeur par défaut de cette propriété. |
Description
Cette propriété permet de définir toutes les effets d'une transition.
Remarques
- Fonction de base : La propriété transition permet d'ajouter des animations en douceur à un élément lorsqu'une de ses propriétés CSS change. Elle est un raccourci qui combine plusieurs autres propriétés de transition comme transition-property, transition-duration, transition-timing-function, et transition-delay. Par exemple, transition: all 0.5s ease-in-out 0.2s applique une transition à toutes les propriétés avec une durée de 0.5 seconde, une fonction de temporisation ease-in-out, et un délai de 0.2 seconde avant de commencer.
- Propriétés multiples : La propriété transition permet de spécifier plusieurs transitions pour différentes propriétés en les séparant par des virgules. Cela permet d'animer simultanément plusieurs changements de propriétés CSS, avec des durées, fonctions de temporisation et délais différents pour chaque propriété. Par exemple, transition: background-color 0.5s ease, transform 1s linear définit deux transitions indépendantes pour background-color et transform.
- Propriété spécifique ou générale : La valeur all dans transition permet d'appliquer la transition à toutes les propriétés CSS modifiées. Cela rend l'animation plus générale et facilite la gestion des transitions pour des éléments dont plusieurs propriétés changent. Si vous souhaitez n'animer qu'une seule propriété spécifique, vous pouvez la mentionner explicitement, comme transition: opacity 1s.
- Contrôle de la minuterie et de l'animation : En combinant la propriété transition avec la fonction de temporisation (transition-timing-function), vous pouvez contrôler le rythme de la transition. Des valeurs comme ease, linear, ease-in, et ease-out permettent de créer des effets d'accélération ou de ralentissement au début ou à la fin de la transition, améliorant ainsi la fluidité des animations.
- Amélioration de l'interactivité : La propriété transition est couramment utilisée pour améliorer l'interactivité des sites Web, comme dans le cas des boutons, des menus déroulants ou des effets de survol. Par exemple, une transition de couleur ou d'ombrage lors du passage de la souris (:hover) peut rendre l'interface utilisateur plus réactive et attrayante sans nécessiter de JavaScript.
- Déclenchement de la transition : Les transitions en CSS sont généralement déclenchées par des changements d'état, comme le survol d'un élément avec :hover, la sélection d'un champ avec :focus, ou la modification d'une classe avec JavaScript. Cela permet de créer des effets visuels dynamiques en réponse aux actions des utilisateurs, comme l'agrandissement d'un bouton ou la modification de son arrière-plan.
- Optimisation des performances : L'utilisation de transitions sur certaines propriétés CSS comme transform et opacity est généralement plus performante que sur des propriétés comme width, height ou left. Les transitions sur transform et opacity n'affectent pas directement la mise en page de la page (reflow), ce qui permet d'obtenir des animations plus fluides et d'améliorer les performances sur des appareils mobiles ou dans des applications complexes.
- Interaction avec les animations : Contrairement aux animations CSS (via @keyframes), permettant des animations plus complexes avec des étapes multiples et des comportements plus détaillés, la propriété transition se limite à un changement d'état simple entre deux points. Cependant, en combinant les transitions avec des animations, il est possible de créer des effets visuels encore plus puissants, comme des animations de survol suivies d'une transition vers un autre état visuel.
Dernière mise à jour : Vendredi, le 1er janvier 2016