-
Transform-origin
Un attribut permet de choisir le point de référence d'un élément (cadre, image) pour son animation.
Ce point de référence est, par défaut l'angle haut/gauche.
L'écriture par défaut est transform-origin:Vu Hu; où V est la position verticale (axe X) et H la position horizontale(axe Y) et où u est l'unité (px, %, top/bottom et left/right).
Si votre image est placée près du bord droit de votre page, l'agrandissement peut la faire sortir de la page; voyons des exemples:
L'image est placée au dessus d'un cadre de référence pour bien montrer son mouvement; survolez chaque bouton..
Une remarque m'a été faite au sujet de la différence apparente entre le nom du bouton et le mouvement de l'image.
Si vous agrandissez l'image à partir du point de référence par défaut: haut/gauche, elle va s'agrandir, à partir de ce point, vers la droite et vers le bas... c'est à dire à l'opposé du nom du bouton !
De même, si le point de référence est bas/droit, l'image va s'agrandir à partir de ce point et donc aller vers le haut et la gauche; ceci nous servira si vous avez placé votre image dans l'angle bas/droit de votre montage: son survol la fera rester dans le montage et non en sortir .
haut gauche
haut droit
bas droit
bas gauche
<div style="width: 40vw; height: 50vh; border: 0.1vw solid black; margin: 11vh auto;">
<p id="b1">haut gauche</p>
<p id="b2">haut droit</p>
<p id="b3">bas droit</p>
<p id="b4">bas gauche</p>
<p id="b5"> </p>
<p id="une" style="width: 10vw; margin: 10vh 0vw 0vh 10vw;"><img style="width: 10vw;" src="http://ekladata.com/i5Lve0QbA-KXHlik4OKoWLnmqkg.jpg" alt="" /></p>
</div>
<style type="text/css"><!--
#b1{position:absolute; width:6vw; height:2vh; border:0.1vw solid black; text-align:center; margin:2vh 0vw 0vh 30vw;}
#b2{position:absolute; width:6vw; height:2vh; border:0.1vw solid black; text-align:center; margin:5vh 0vw 0vh 30vw;}
#b3{position:absolute; width:6vw; height:2vh; border:0.1vw solid black; text-align:center; margin:8vh 0vw 0vh 30vw;}
#b4{position:absolute; width:6vw; height:2vh; border:0.1vw solid black; text-align:center; margin:11vh 0vw 0vh 30vw;}
#b5{position:absolute; z-index:1;width:11vw; height:28vh; border:0.2vw solid black; text-align:center; margin:9.5vh 0vw 0vh 9.5vw;}
#une { position:absolute; z-index:5;
transition:all 1s linear;
transform-origin: 50% 50%;}
#b1:hover ~ #une{
transform: translate(0px,0px) scale(1.8);
transform-origin: 0% 0%;}
#b2:hover ~ #une{
transform: translate(0px,0px) scale(1.8);
transform-origin: 100% 0%;}
#b3:hover ~ #une{
transform: translate(0px,0px) scale(1.8);
transform-origin: 100% 100%;}
#b4:hover ~ #une{
transform: translate(0px,0px) scale(1.8);
transform-origin: 0% 100%;}
--></style>