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 affines 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éé une 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="https://www.google.com/" width="500" height="600"></iframe> </div>
Exemple : inclinaison et translation
Cet exemple créé une 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="https://www.google.com/" width="600" height="500"></iframe> </div>
Propriétés CSS spécifiques à la 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 perspective 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.