CodeGym /Cours /Frontend SELF FR /Notions de base sur les transformations

Notions de base sur les transformations

Frontend SELF FR
Niveau 23 , Leçon 0
Disponible

1.1 Propriété transform

Les transformations CSS permettent de modifier la position, la taille, la rotation et l'inclinaison des éléments sans changer leur flux normal dans le document. C'est un outil puissant pour créer des interfaces web interactives et dynamiques. Jetons un œil aux bases des transformations en utilisant les propriétés transform, translate, rotate, scale et skew.

La propriété transform permet d'appliquer des transformations 2D et 3D aux éléments. Elle combine différentes fonctions de transformation, telles que translate, rotate, scale et skew.

Syntaxe :

    
      element {
        transform: transformation-function;
      }
    
  

Où :

  • transformation-function : fonction de transformation appliquée à l'élément

Exemple d'utilisation :

CSS
    
      .element {
        transform: translate(50px, 100px);
      }
    
  

1.2 Transformation translate

La transformation translate est utilisée pour déplacer un élément sur l'axe X et/ou Y.

Syntaxe :

    
      element {
        transform: translate(x, y);
      }
    
  

Où :

  • x : décalage sur l'axe X (peut être négatif ou positif)
  • y : décalage sur l'axe Y (peut être négatif ou positif)

Exemple :

HTML
    
      <!DOCTYPE html>
      <html lang="en">
        <head>
          <meta charset="UTF-8">
          <meta name="viewport" content="width=device-width, initial-scale=1.0">
          <title>Transformation translate</title>
          <style>
            .box {
              width: 100px;
              height: 100px;
              background-color: #3498db;
              transition: transform 0.5s;
            }

            .box:hover {
              transform: translate(50px, 50px);
            }
          </style>
        </head>
        <body>
          <div class="box"></div>
        </body>
      </html>
    
  

Explication du code :

  • .box : élément avec des dimensions et une couleur fixes
  • .box:hover : au survol, la transformation translate(50px, 50px) est appliquée, déplaçant l'élément de 50 pixels vers la droite et vers le bas

1.3 Transformation rotate

La transformation rotate est utilisée pour tourner un élément autour de son centre.

Syntaxe :

    
      element {
        transform: rotate(angle);
      }
    
  

Où :

  • angle : angle de rotation en degrés (peut être négatif ou positif)

Exemple :

HTML
    
      <!DOCTYPE html>
      <html lang="en">
        <head>
          <meta charset="UTF-8">
          <meta name="viewport" content="width=device-width, initial-scale=1.0">
          <title>Transformation rotate</title>
          <style>
            .box {
              width: 100px;
              height: 100px;
              background-color: #e74c3c;
              transition: transform 0.5s;
            }

            .box:hover {
              transform: rotate(45deg);
            }
          </style>
        </head>
        <body>
          <div class="box"></div>
        </body>
      </html>
    
  

Explication du code :

  • .box : élément avec des dimensions et une couleur fixes
  • .box:hover : au survol, la transformation rotate(45deg) est appliquée, tournant l'élément de 45 degrés dans le sens horaire

1.4 Transformation scale

La transformation scale est utilisée pour modifier la taille d'un élément sur l'axe X et/ou Y.

Syntaxe :

    
      element {
        transform: scale(sx, sy);
      }
    
  

Où :

  • sx : échelle sur l'axe X (valeur supérieure à 1 agrandit l'élément, inférieure à 1 le réduit)
  • sy : échelle sur l'axe Y (valeur supérieure à 1 agrandit l'élément, inférieure à 1 le réduit)

Exemple :

HTML
    
      <!DOCTYPE html>
      <html lang="en">
        <head>
          <meta charset="UTF-8">
          <meta name="viewport" content="width=device-width, initial-scale=1.0">
          <title>Transformation scale</title>
          <style>
            .box {
              width: 100px;
              height: 100px;
              background-color: #2ecc71;
              transition: transform 0.5s;
            }

            .box:hover {
              transform: scale(1.5, 1.5);
            }
          </style>
        </head>
        <body>
          <div class="box"></div>
        </body>
      </html>
    
  

Explication du code :

  • .box : élément avec des dimensions et une couleur fixes
  • .box:hover : au survol, la transformation scale(1.5, 1.5) est appliquée, augmentant sa taille de 1.5 fois sur les deux axes

1.5 Transformation skew

La transformation skew est utilisée pour incliner un élément sur l'axe X et/ou Y.

Syntaxe :

    
      element {
        transform: skew(ax, ay);
      }
    
  

Où :

  • ax : angle d'inclinaison sur l'axe X (peut être négatif ou positif)
  • ay : angle d'inclinaison sur l'axe Y (peut être négatif ou positif)
HTML
    
      <!DOCTYPE html>
      <html lang="en">
        <head>
          <meta charset="UTF-8">
          <meta name="viewport" content="width=device-width, initial-scale=1.0">
          <title>Transformation skew</title>
          <style>
            .box {
              width: 100px;
              height: 100px;
              background-color: #9b59b6;
              transition: transform 0.5s;
            }

            .box:hover {
              transform: skew(20deg, 10deg);
            }
          </style>
        </head>
        <body>
          <div class="box"></div>
        </body>
      </html>
    
  

Explication du code :

  • .box : élément avec des dimensions et une couleur fixes.
  • .box:hover : au survol, la transformation skew(20deg, 10deg) est appliquée, inclinant l'élément de 20 degrés sur l'axe X et de 10 degrés sur l'axe Y.

1.6 Combinaison de différentes transformations

La propriété transform permet de combiner plusieurs fonctions de transformation pour créer des effets complexes.

Exemple :

HTML
    
      <!DOCTYPE html>
      <html lang="en">
        <head>
          <meta charset="UTF-8">
          <meta name="viewport" content="width=device-width, initial-scale=1.0">
          <title>Transformations combinées</title>
          <style>
            .box {
              width: 100px;
              height: 100px;
              background-color: #3498db;
              transition: transform 0.5s;
            }

            .box:hover {
              transform: translate(50px, 50px) rotate(45deg) scale(1.5) skew(20deg, 10deg);
            }
          </style>
        </head>
        <body>
          <div class="box"></div>
        </body>
      </html>
    
  

Explication du code :

  • .box : élément avec des dimensions et une couleur fixes
  • .box:hover : au survol, les transformations translate, rotate, scale et skew sont appliquées simultanément, créant un effet complexe
Commentaires
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION