• 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;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">&nbsp;</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>