transform |
Transformation |
---|---|
CSS3 |
Syntaxe
transform: initial | inherit | matrix(n,n,n,n,n,n) | matrix3d(n,n,n,n,n,n,n,n,n,n,n,n,n,n,n,n) | none | perspective(n) | rotate(angle) | rotate3d(x,y,z,angle) | rotateX(angle) | rotateY(angle) | rotateZ(angle) | scale(x,y) | scale3d(x,y,z) | scaleX(x) | scaleY(y) | scaleZ(z) | skew(x-angle,y-angle) | skewX(angle) | skewY(angle) | translate(x,y) | translate3d(x,y,z) | translateX(x)|translateY(y) | translateZ(z); |
Paramètres
Paramètre | Description |
---|---|
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é. |
matrix(n,n,n,n,n,n) | Ce paramètre permet d'indiquer qu'il faut effectuer une transformation 2 dimensions en utilisant une matrice avec 6 valeurs. |
matrix3d(n,n,n,n,n,n,n,n,n,n,n,n,n,n,n,n) | Ce paramètre permet d'indiquer qu'il faut effectuer une transformation 3 dimensions en utilisant une matrice 4x4 de 16 valeurs. |
none | Ce paramètre permet d'indiquer qu'il faut effectuer aucune transformation. |
perspective(n) | Ce paramètre permet d'indiquer une vue en perspective avec une transformation 3 dimensions de l'élément. |
rotate(angle) | Ce paramètre permet d'indiquer une rotation en 2 dimensions avec l'angle spécifié. |
rotate3d(x,y,z,angle) | Ce paramètre permet d'indiquer une rotation en 3 dimensions. |
rotateX(angle) | Ce paramètre permet d'indiquer une rotation en 3 dimensions sur l'axe des X. |
rotateY(angle) | Ce paramètre permet d'indiquer une rotation en 3 dimensions sur l'axe des Y. |
rotateZ(angle) | Ce paramètre permet d'indiquer une rotation en 3 dimensions sur l'axe des Z. |
scale(x,y) | Ce paramètre permet d'indiquer une transformation d'échelle en 2 dimensions. |
scale3d(x,y,z) | Ce paramètre permet d'indiquer une transformation d'échelle en 3 dimensions. |
scaleX(x) | Ce paramètre permet d'indiquer une transformation d'échelle sur l'axe des X. |
scaleY(y) | Ce paramètre permet d'indiquer une transformation d'échelle sur l'axe des Y. |
scaleZ(z) | Ce paramètre permet d'indiquer une transformation d'échelle sur l'axe des Z. |
skew(x-angle,y-angle) | Ce paramètre permet d'indiquer une transformation par inclinaison 2 en dimensions sur l'axe des X et des Y. |
skewX(angle) | Ce paramètre permet d'indiquer une transformation par inclinaison 2 en dimensions sur l'axe des X. |
skewY(angle) | Ce paramètre permet d'indiquer une transformation par inclinaison 2 en dimensions sur l'axe des Y. |
translate(x,y) | Ce paramètre permet d'indiquer une translation en 2 dimensions. |
translate3d(x,y,z) | Ce paramètre permet d'indiquer une translation en 3 dimensions. |
translateX(x) | Ce paramètre permet d'indiquer une translation sur l'axe des X. |
translateY(y) | Ce paramètre permet d'indiquer une translation sur l'axe des Y. |
translateZ(z) | Ce paramètre permet d'indiquer une translation sur l'axe des Z. |
Description
Cette propriété permet d'appliquer une transformation en 2 dimensions ou en 3 dimensions sur un élément.
Remarques
- Application des transformations géométriques : La propriété transform permet d'appliquer diverses transformations géométriques à un élément, telles que la rotation, la mise à l'échelle, la translation et l'inclinaison. Par exemple, transform: rotate(45deg); applique une rotation de 45 degrés à l'élément. Cette propriété est très utilisée pour les animations, les effets interactifs ou pour ajuster la présentation des éléments sans modifier leur position dans le flux du document.
- Valeurs multiples : La propriété transform accepte plusieurs transformations en une seule déclaration. Vous pouvez appliquer une ou plusieurs transformations simultanément, séparées par un espace. Par exemple, transform: rotate(45deg) scale(1.5); appliquera à l'élément une rotation de 45 degrés et un agrandissement de 1.5x. Cela permet de créer des effets visuels complexes et de combiner plusieurs transformations dans une seule règle CSS.
- Transformations en 2D et 3D : La propriété transform fonctionne tant pour les transformations en 2D que 3D. Les transformations 2D incluent des fonctions comme rotate(), scale(), translate() et skew(), tandis que les transformations 3D introduisent des fonctions telles que rotateX(), rotateY(), et perspective(). Par exemple, transform: rotate3d(1, 0, 0, 45deg); applique une rotation en trois dimensions.
- Effets visuels sans altérer la mise en page : L'un des principaux avantages de transform est qu'elle modifie l'apparence de l'élément sans affecter son positionnement ou son espace dans le flux du document. Par exemple, si vous appliquez transform: translate(50px, 0); à un élément, il se déplacera de 50 pixels vers la droite, mais son espace réservé dans la mise en page restera inchangé. Cela permet de créer des animations ou des effets visuels dynamiques tout en préservant la structure de la page.
- Origine de transformation : La propriété transform-origin permet de spécifier l'origine autour de laquelle les transformations se produisent. Par défaut, l'origine de transformation est située au centre de l'élément, mais vous pouvez la modifier pour créer des effets plus intéressants. Par exemple, transform-origin: top right; modifie le point de référence de la transformation à l'angle supérieur droit de l'élément. Cela est particulièrement utile lors de la rotation d'un élément autour d'un coin ou d'un autre point spécifique.
- Animations avec transform : La propriété transform est couramment utilisée dans les animations CSS pour créer des effets fluides tels que les déplacements, les rotations, ou les redimensionnements d'éléments. Par exemple, une animation peut être définie avec @keyframes pour animer une translation ou une rotation. Cela permet de créer des interfaces dynamiques, des effets de transition, et des transformations au survol ou au clic.
- Optimisation des performances : Contrairement à d'autres propriétés CSS modifiant l'apparence d'un élément et peuvent entraîner une nouvelle mise en page (comme width, height, ou left), les transformations appliquées avec transform sont gérées par le GPU, ce qui permet d'obtenir de meilleures performances pour les animations, surtout sur les appareils mobiles. Cela réduit le rendu coûteux des reflows et repaints.
- Interaction avec d'autres propriétés : Bien que transform soit une propriété puissante pour appliquer des effets visuels, il est important de comprendre qu'elle interagit avec d'autres propriétés CSS. Par exemple, un élément transformé peut affecter l'empilement avec la propriété z-index. De même, si une transformation est appliquée sur un élément contenant un texte, la transformation affectera également l'orientation et la taille du texte, ce qui peut nécessiter des ajustements pour maintenir la lisibilité et l'apparence souhaitée.
Dernière mise à jour : Dimanche, le 20 décembre 2015