Les fonctions de mise à l'échelle : scaleX(), scaleY(), scaleZ() et scale3d().
Résumé des caractéristiques de la fonction scale()
Description des fonctions scale()
, scaleX()
, scaleY()
et scaleZ()
.
Ces fonctions définissent un changement de taille de l'élément (agrandissement ou réduction) suivant l'un des axes.
scaleZ()
n'a aucun effet visible car cette fonction agit sur l'épaisseur de l'élément (axe Z). Cette dernière étant égale à 0,
la multiplier par un coefficient quelconque ne change rien.
L'axe X correspond à l'horizontale, Y à la verticale, et l'axe Z est perpendiculaire au plan de l'écran.
scale()
permet une mise à l'échelle suivant les trois axes,
c'est en fait un raccourci pour les fonctions scaleX()
, scaleY()
et scaleZ()
.
Reportez-vous également aux pages suivantes :
transform
: la propriété qui permet d'appliquer les transformations.transform-origin
: une propriété qui définit le point qui restera fixe pendant une transformation. par défaut ce point est situé au centre de l'élément.
Ces fonctions peuvent être utilisées avec :
transform
: Applique une ou plusieurs transformations géométriques (rotations, agrandissements, etc.).
Syntaxe de ces fonctions de mise à l'échelle.
- transform: scaleX(0.5); transform: scaleY(2); transform: scaleZ(1.5);
Les trois fonctions attendent une valeur qui peut être un nombre sans unité ou un pourcentage. Les pourcentages sont calculés par rapport à la dimension originale de l'élément, dans le sens correspondant : largeur pour
scaleX()
, hauteur pourscaleY()
, et épaisseur pourscaleZ()
.Les valeurs négatives sont acceptées et provoquent un retournement de l'élément (symétrie).
- transform: scale(0.5, 1); x y
x
ety
sont les coefficients à utiliser pour changer la taille de l'élément suivant l'axe correspondant. Si une seule valeur est indiquée, elle est appliquée aussi bien suivant l'axeX
que suivant l'axeY
, ce qui permet de conserver les proportions de l'élément.Ce sont duex nombres sans unité inférieurs à 1 (réduction de la dimension) ou supérieurs (agrandissement).
Les pourcentages peuvent utilisés et sont évalués par rapport à la dimension originale correspondante.Les valeurs négatives sont acceptées et provoquent un retournement de l'élément (symétrie).
- transform: scale3d(0.5, 1, 0.5); x y z
x
,y
etz
sont les coefficients à utiliser pour changer la taille de l'élément suivant l'axe correspondant. Les trois valeurs doivent être indiquées.Ce sont trois nombres sans unité inférieurs à 1 (réduction de la dimension) ou supérieurs (agrandissement).
Les pourcentages peuvent utilisés et sont évalués par rapport à la dimension originale correspondante.Les valeurs négatives sont acceptées et provoquent un retournement de l'élément (symétrie).
Simulateur.
Les modifications suivant l'axe Z, qui correspondent en fait à l'épaissseur de l'élément, ne sont pas visibles.
Compatibilité et prise en charge des transformations 3D.
Les transformations 3D sont correctement traitées par les navigateurs actuels.
La fonction scale()
et ses dérivées scaleX()
, scaleY()
, scaleZ()
sont également bien reconnues.
scale()
, scaleX()
, scaleY()
et scaleZ()
.
scale3d()
.
2D
3D
scale()
scale3d()
Navigateurs sur ordinateurs :
Navigateurs sur mobiles :
Navigateurs obsolètes ou marginaux :
Androïd Brower
Baidu Browser
Chrome
Chrome pour Androïd
Edge
Firefox
Firefox pour Androïd
Internet Explorer
KaiOS Browser
Opéra
Opéra Mobile
QQ Browser
Safari
Safari sur IOS
Samsung Internet
UC Browser pour Androïd
Opéra mini
Historique de la fonction scale()
.
-
Module CSS - Transformations - Niveau 1
Premier niveau de spécification concernant les transformations en 2D.
Présentation des différentes fonctions de transformation dontscale()
,scaleX()
etscaleY()
.28 Février 2012Document de travail.14 Février 2019Candidat à la recommandation. -
Module CSS - Transformations - Niveau 2
Niveau 2 de la spécification sur les transformations, introduisant les transformations en 3D.
Ajout des fonctionsscaleZ()
etscale3d()
.
Les fonctions 2Dscale()
,scaleX()
etscaleY()
acceptent maintenant les valeurs en pourcentages.03 Mars 2020Document de travail.
Voir aussi, concernant les transformations.
Le module de spécification CSS Transforms Module regroupe toutes les propriétés et fonctions concernant les transformations en CSS.
La fonction scale()
est décrite dans ce module, ainsi que toutes les suivantes :