Utilisation des transformations CSS

En modifiant l'espace des coordonnées, les transformations CSS permettent de changer la position d'un contenu affecté sans perturber le flux normal. Elles sont implémentées en utilisant un ensemble de propriétés CSS qui vous permettre d'appliquer des transformations afines aux éléments HTML. Ces transformations incluent la rotation, l'inclinaison et la translation à la fois dans le plan ou dans un espace 3D.

Propriétés des transformations CSS

Deux propriétés majeures sont utilisées pour définir les transformations CSS : transform et transform-origin.

transform-origin
Spécifie la position de l'origine. Par défaut, celle-ci est dans le coin supérieur gauche de l'élément et peut être déplacée. Elle est utilisée par de nombreuses transformations, comme les rotations, les homothéties ou l'inclinaison, qui nécessitent un point spécifique pour paramètre.
transform
Spécifie la transformation à appliquer à l'élément. C'est une liste de transformations séparée par des espaces, qui sont appliquées les unes après les autres, comme requit par l'opération de composition.

Exemples

Exemple : rotation

Cet exemple créé un iframe qui utilise la page d'accueil de Google, tournée à 90 degrés par rapport à son coin inférieur gauche.

Afficher l'exemple en direct Afficher les captures d'écrans de l'exemple

<div style="transform: rotate(90deg); transform-origin: bottom left;">
  <iframe src="http://www.google.com/" width="500" height="600"></iframe>
</div>

Exemple :  inclinaison et translation

Cet exemple créé un iframe qui utilise la page d'accueil de Google, inclinée à 10 degrés et translatée de 150 pixels sur l'axe X.

Afficher l'exemple en direct  Afficher les capturs d'écran de l'exemple

<div style="transform: skewx(10deg) translatex(150px);
            transform-origin: bottom left;">
  <iframe src="http://www.google.com/" width="600" height="500"></iframe>
</div>

Propriétés CSS spécifiques 3D

Réaliser des transformations CSS dans l'espace est un petit peu plus complexe. Il faut d'abord définir l'espace 3D en lui donnant une perspective, puis il faut configurer le comportement des éléments 2D dans cet espace.

Définir une perspective

Le premier élément à définir est la perspective. La perspective est ce qui donne l'impression de troisième dimension. Plus les éléments sont loin de l'observateur, plus ils seront petits.

La rapidité avec laquelle ils rétrécissent est définie par la propriété perspective. Plus la valeur est petite, plus la perspective est profonde.

perspective:0; perspective:250px;
   
1
2
3
4
5
6
   
1
2
3
4
5
6
perspective:300px; perspective:350px;
   
1
2
3
4
5
6
   
1
2
3
4
5
6

Le second élément à configurer est la position de l'observateur, grâce à la propriété transform-origin. Par défaut, la pespective est centrée sur l'observateur, ce qui n'est pas toujours idéal.

perspective-origin:150px 150px; perspective-origin:50% 50%; perspective-origin:-50px -50px;
   
1
2
3
4
5
6
   
1
2
3
4
5
6
   
1
2
3
4
5
6

Une fois que vous avez fait cela, vous pouvez travailler sur l'élément dans l'espace 3D.

Voir également

Pièces jointes

Fichier Taille Date Joint par
google-rotated.png
70044 octets 2008-10-07 21:03:25 Sheppy
rotated-google-sample.html
259 octets 2011-12-14 14:07:32 teoli
skewed-google.png
75500 octets 2008-10-07 21:20:55 Sheppy
skewed-google-sample.html
325 octets 2008-10-07 21:20:50 Sheppy
add_code.js
3642 octets 2009-12-17 08:23:35 Sevenspade
Manage Search Engines....png
31587 octets 2009-12-18 06:12:16 sethb@mozilla.com

Étiquettes et contributeurs liés au document

Étiquettes :
Contributeurs ayant participé à cette page : Delapouite, BenoitL, teoli, FredB
Dernière mise à jour par : Delapouite,