Accueil

Traduction

Tutoriel CSS - sommaire

Tutoriel CSS3 - recherche

L'auteur : Patrick Darcheville

Vous pouvez me contacter via Facebook pour questions & suggestions : Page Facebook relative à mon site

CSS : transformations 2D avec transition

Rien n'interdit qu'une transition porte sur une transformation.
C'est ce que je fais dans cette page : transformations 2D avec transition.

Exercice 1

Survolez successivement sur chaque image et observez ...
Attention il s'agit d'une transition qui dure 5 secondes ; ne cessez pas de survolez l'élément !!!

Analyse du comportement sur survol

Dès que vous survolez une image dans la colonne de gauche, elle monte et diminue de taille (de moitié)
Dès que vous survolez une image dans la colonne du centre, elle tourne sur la droite, le point de rotation est l'angle haut gauche.
Dès que vous survolez une image dans la colonne de droite, elle descend et sa taille double.

Le code HTML correspondant

Deux classes sont associées à chaque élément IMG.

Travail à faire

Messieurs, vous vous êtes "rincé l'oeil". Maintenant il faut bosser un peu. Vous devez compléter la feuille de style correspondante.

Exercice 2

Cliquez successivement sur chaque image et observez.
Attention il s'agit d'une transition qui dure 5 secondes, ne cessez pas de cliquer le temps imparti.

Le code HTML

Travail à faire

Vous devez compléter la feuille de style correspondante.

Créer un effet zoom

La propriété transform argumentée avec la commande scale() permet de créer un effet zoom sur survol ou clic.

Exemple

Rendu dans un iframe :

Le code correspondant

Observez les deux règles de style.

Appliquer la même transformation à toutes les images de la page

Grâce à un script une nouvelle classe s'applique à la collection d'images.

Le code de la page

Observez la règle de style qui s'applique aux images ! Toutes les images doivent être affichées dans une zone de 18% par 150px avec un bordurage rouge.
Or elles n'ont pas toutes le même ratio largeur/hauteur. Il faut donc utiliser la propriété object-fit pour qu'il n'y ait pas déformation de l'image. Si la valeur de cette propriété vaut "contain" il n'y aura pas rognage mais toute la largeur ne sera pas forcément occupée.

Notez la classe "transformer" qui prévoit une transformation 2D avec transition.
Cette classe est appliquée à toutes les images via le script de la page.

Le rendu

Notez bien que les images ont toutes la même hauteur mais pas la même largeur (bandes blanches à gauche et à droite plus ou moins larges).
Elles ne sont pas rognées ; ce qui aurait êté le cas éventuellement avec object-fit : cover