TechWeb
Accueil Codage HTML CSS DESIGN XML LaboCSS

Les transformations

La propriété transform

La propriété transform permet d'appliquer une transformation géométrique (affine) à un élément.

Nous nous limitons aux transformations 2D, les transformation 3D n'étant reconnues que par Chrome et Safari

Translation

translate(x,y)

Pour réaliser une translation de x unités horizontalement et y unités verticalement on donne la valeur translate(x,y) à la propriété transform :

( , )

On peut obtenir un résultat équivalent en jouant sur les proprétés left et right pour un élément en position relative.

Il existe deux autres variantes pour spécifier une translation :

translateX(x) ≡ translate(x, 0)

translateY(y) ≡ translate(0, y)

modele

Changement d'échelle

scale(x,y)

Pour réaliser une mise à l'échelle d'un facteur x horizontalement et d'un facteur y verticalement on donne la valeur scale(x,y) à la propriété transform :

( , )

Il existe deux autres variantes pour spécifier une mise à l'échelle :

scaleX(x) ≡ scale(x, 1)

scaleY(y) ≡ scale(1, y)

Par défaut mise à l'échelle se fait à partir du centre de l'élément appelé l'origine de la transformation

Pour modifier l'origine de la transformation il sufft de renseigner la propriété transform-origin :

:

Rotation

rotate(a)

Pour réaliser une translation de x unités horizontalement et y unités verticalement on donne la valeur rotate(a) à la propriété transform :

(

Par défaut le centre de la rotation est fixé au centre de l'élément (50%, 50%).

Pour modifier le centre de la rotation il suffit d'ajuster la propriété transform-origin

Il est également possible de réaliser une rotation autour d'un axe horizontal ou d'un axe vertical en affectant la valeur rotateX(a) ou rotateY(a) à la propriété transform

(

(

Par défaut la rotation horizontale s'effectue par rapport à l'axe horizontal passant par le centre de l'élément et la rotation verticale par rapport à l'axe vertical passant par le centre de l'élément

Pour modifier la position de l'axe horizontal on modifie la composante Y de la propriété transform-origin et pour modifier la position de l'axe vertical on modifie la composante X de la propriété transform-origin

Inclinaison

skew(x,y)

Pour incliner un élément d'un angle y horizontalement et d'un angle x verticalement on donne la valeur skew(x,y) à la propriété transform :

( , )

Il existe deux autres variantes pour spécifier l'inclinaison :

skewX(x) ≡ skew(x, 0)

skewY(y) ≡ skew(0, y)

Par défaut mise le point fixe de la transformation est situé au centre de l'élément

Pour modifier le point fixe de la transformation il sufft de renseigner la propriété transform-origin :

Transformation personalisée

matrix(a, b, c, d, e, f)

La valeur matrix(a, b, c, d, e, f) de la propriété transform permet de personnaliser la transformation à appliquer.

Les quatre premières valeurs constituent les coefficient de l'application lineaire à appliquer.

Les deux dernières valeurs spécifient la translation à opérer.

matrix(a, b, c, d, e, f) ≡(

a  c  e

b  d  f

)

( , , , , , )

modele

Par defaut le point fixe de l'application lineaire est le centre de l'él&eaute;ment. Il peut être redéfini en modifiant la valeur de la propriété transform-origin.

:

Aucune transformation

none

En affectant la valeur none à la propriété transform, aucune transformation n'est appliquée.

Valid XHTML 1.0 Strict Valid CSS!

Copyright Gabriel Braun 2007