Partage
  • Partager sur Facebook
  • Partager sur Twitter

Rotation d'un objet html

    14 juillet 2019 à 12:33:30

    Bonjour, je voudrais faire la rotation d'une div avec un transform-origin:center mais il ce déplace alors que je veux qu'il reste au centre

    Le code

    <div id="X"></div>
    <div id="Y"></div>
    <div class="line"></div>
    <style type="text/css">
    	body{
    		overflow: hidden;
    	}
    	div#X{
    		position: absolute;
    		left: 0%;
    		top: 50%;
    		transform: translateY(-50%);
    		width:100%;
    		height: 2px;
    		background-color: black;
    		z-index: 1;
    	}
    	div#Y{
    		position: absolute;
    		left: 50%;
    		top: 0%;
    		transform: translateX(-50%);
    		width:2px;
    		height: 100%;
    		background-color: black;
    		z-index: 1;
    	}
    	div.line{
    		position: absolute;
    		left:calc(50%);
    		top: 0px;
    		width: 2px;
    		height: 300%;
    		background-color: blue;
    		transform: translateX(-50%);
    		transform: rotate(45deg);
    		transform-origin:center;
    		z-index: 2;
    	}
    </style>

    Merci pour vos réponses

    -
    Edité par Stefos 14 juillet 2019 à 12:35:39

    • Partager sur Facebook
    • Partager sur Twitter
      14 juillet 2019 à 13:41:41

      div.line {
              position: absolute;
              left: 0%;
              top: 50%;
              width:100%;
              height: 2px;
              background-color: blue;
              transform: rotate(135deg); /* <-- CHANGES AVEC AUTRE ANGLE ICI, SI BESOIN  */
              z-index: 2;
      }

      https://www.w3schools.com/CSSref/trycss3_transform-origin_inuse.htm

      -
      Edité par MilenAtanasov 14 juillet 2019 à 13:47:15

      • Partager sur Facebook
      • Partager sur Twitter
        15 juillet 2019 à 19:43:32

        Bonjour Stefos ,

        1) Quand tu utilises transform il faut mettre tes fonctions dans un seul transform :

        transform : translateX(-50%) rotate(45deg);

        2) pour moi, transform-origin:center est bien pris en compte c'est juste ton height : 300% qui "fausse"  le centre.

        Un exemple avec 100% :

        https://codepen.io/Zonecss/pen/KjjQzO

        • Partager sur Facebook
        • Partager sur Twitter
        Découvrez les Css avec la zonecss.fr
          17 juillet 2019 à 21:28:38

          Si je fais les 100% et non les 300% la hauteur de div.line n'atteint pas le bord supérieur et inférieur de l'écran il est limité alors que je veux qu'il ne le soit pas.
          • Partager sur Facebook
          • Partager sur Twitter
            18 juillet 2019 à 18:39:41

            Bonjour Stefos ,

            dans ce cas je pense que le code est le suivant :

            height: 100%; 
            transform: translateX(-50%) scaleY(3) rotate(45deg)



            • Partager sur Facebook
            • Partager sur Twitter
            Découvrez les Css avec la zonecss.fr
              25 juillet 2019 à 18:34:37

              Bonjour, Si je fais cela et que je fais un angle de 90deg div.line n'atteint pas le bord gauche et droit de l'écran
              • Partager sur Facebook
              • Partager sur Twitter

              Rotation d'un objet html

              × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
              × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
              • Editeur
              • Markdown