Vous pouvez me contacter via Facebook pour questions & suggestions : Page Facebook relative à mon site
On parle de transformation lorsqu'un élément se déplace ou change de taille ou se déforme (inclinaison) ou pivote (rotation).
Une transformation peut porter sur une boite, une image. Elle peut être 2D ou 3D.
Dans ce chapitre ne seront abordées que les transformations 2D.
Cliquez successivement sur chaque carré ci-dessous et observez ...
Pour éviter un saut de ligne entre chaque boite DIV il suffit de leur appliquer la propriété display : inline-block.
Rappel : la pseudo classe :active signifie "sur survol".
Chaque élément DIV se voit affecter la classe "boite" est un ID différent qui détermine la couleur de fond.
J'ai utilisé la propriété CSS transform avec différentes fonctions.
La propriété transform peut être argumentée avec les commandes
rotate(deg) / scaleX(x) / scaleY(y) / scale(x,y) / translateX(x) / translateY(y) / translate(x,y).
Les arguments x et y sont des pixels ; il faut préciser l'unité. Exemples : 200px, -100px
L'argument de la fonction rotate() est un angle en degrés ; il faut préciser l'unité. Exemples : 45deg, -30deg
Les valeurs peuvent être négatives.
Il existe aussi les fonctions skewX() & skewY().
Par ailleurs on peut argumenter la propriété transform avec plusieurs fonctions chainées !
Cliquez successivement sur chaque carte et observez ...
Ici nous étudions deux nouvelles fonctions de la propriété transform : skewX & skewY.
Grâce à cette fonction vous pouvez transformer un rectangle en parallélogramme (côtés opposés restent parallèles mais les angles ne font plus 90°).
Aussi surprenant que cela paraisse skew(x,y) n'existe pas dans la nomenclature W3C même si elle acceptée sur certains navigateurs.
Comme vous pouvez le constater à la lecture du code CSS ci-dessus, vous pouvez aussi argumenter la propriété transform avec plusieurs fonctions comme c'est le cas pour les quatre dernières cartes (les rois).
Donc lorsque vous argumentez la propriété transform avec plusieurs fonctions, l'ordre des ces commandes est crucial.
Il est impératif de regrouper les deux éléments dans le conteneur figure et appliquer la transformation à cet élément.
à chaque image est associée logiquement une légende grâce à l'emploi des éléments figure & figcaption
La rotation (sur survol) s'applique à l'image mais aussi à sa légende !
Par défaut l'origine d'une transformation d'un élément HTML est son centre mais elle peut être modifiée grâce à la propriété transform-origin.
Ils se transforment en losange mais on voit bien que le premier carré pivote autour de son centre alors que le second pivote à partir de son coin haut gauche et le troisième à partir du coin bas droit.
Pour le premier carré l'origine de la rotation est le centre de cet élément.
Pour le deuxième carré l'origine de la transformation est le coin supérieur gauche du carré.
Pour le troisième carré l'origine de la rotation est le coin inférieur droit de cet élément.
Les transformations sur survol ou clic sont ici instantanées.
Il serait préférable que le passage de l'état initial vers l'état final de l'élément
se déroule en quelques secondes. C'est possible ! Il faut réaliser une transformation avec transition c'est à dire sur une certaine durée.
C'est l'objet du chapitre suivant.