CodeGym /Kurse /Frontend SELF DE /Transformationszentrum

Transformationszentrum

Frontend SELF DE
Level 23 , Lektion 1
Verfügbar

2.1 Eigenschaft transform-origin

Die CSS-Eigenschaft transform-origin bestimmt den Punkt, um den Transformationen wie rotate, scale, skew und translate angewendet werden. Standardmäßig befindet sich dieser Punkt im Zentrum des Elements, aber du kannst seine Position ändern, um die gewünschten visuellen Effekte zu erzielen.

Grundlagen von transform-origin

Syntax der Eigenschaft transform-origin:

    
      element {
        transform-origin:  x-axis y-axis z-axis;
      }
    
  

Wo:

  • x-axis: bestimmt die Position des Punktes auf der horizontalen Achse
  • y-axis: bestimmt die Position des Punktes auf der vertikalen Achse
  • z-axis: bestimmt die Position des Punktes auf der Z-Achse (wird für 3D-Transformationen verwendet)

Mögliche Werte:

  • Schlüsselwörter: top, right, bottom, left, center
  • Prozentwerte: geben den Ursprungspunkt in Prozent der Elementgröße an
  • Absolute Werte: geben den Ursprungspunkt in Pixeln oder anderen Maßeinheiten an

Beispiele für Werte:

  • transform-origin: 50% 50%; — Zentrum des Elements (Standardwert)
  • transform-origin: 0 0; — obere linke Ecke des Elements
  • transform-origin: 100% 100%; — untere rechte Ecke des Elements
  • transform-origin: 50px 100px; — Verschiebung um 50 Pixel nach rechts und 100 Pixel nach unten von der oberen linken Ecke

Zentrierung des Ursprungspunkts (Standard)

In diesem Beispiel wird die Transformation rotate um das Zentrum des Elements erfolgen.

HTML
    
      <!DOCTYPE html>
      <html lang="en">
        <head>
          <meta charset="UTF-8">
          <meta name="viewport" content="width=device-width, initial-scale=1.0">
          <title>Zentrierung des Ursprungspunkts</title>
          <style>
            .box {
              width: 100px;
              height: 100px;
              background-color: #3498db;
              transform: rotate(45deg);
            }
          </style>
        </head>
        <body>
          <div class="box"></div>
        </body>
      </html>
    
  

2.2 Verschiebung des Punkts

Verschiebung des Ursprungspunkts zur oberen linken Ecke

In diesem Beispiel ist der Ursprungspunkt der Transformation zur oberen linken Ecke des Elements verschoben.

HTML
    
      <!DOCTYPE html>
      <html lang="en">
        <head>
          <meta charset="UTF-8">
          <meta name="viewport" content="width=device-width, initial-scale=1.0">
          <title>Ursprungspunkt in der oberen linken Ecke</title>
          <style>
            .box {
              width: 100px;
              height: 100px;
              background-color: #e74c3c;
              transform: rotate(45deg);
              transform-origin: top left;
            }
          </style>
        </head>
        <body>
          <div class="box"></div>
        </body>
      </html>
    
  

Verschiebung des Ursprungspunkts zur unteren rechten Ecke

In diesem Beispiel ist der Ursprungspunkt der Transformation zur unteren rechten Ecke des Elements verschoben.

HTML
    
      <!DOCTYPE html>
      <html lang="en">
        <head>
          <meta charset="UTF-8">
          <meta name="viewport" content="width=device-width, initial-scale=1.0">
          <title>Ursprungspunkt in der unteren rechten Ecke</title>
          <style>
            .box {
              width: 100px;
              height: 100px;
              background-color: #2ecc71;
              transform: rotate(45deg);
              transform-origin: bottom right;
            }
          </style>
        </head>
        <body>
          <div class="box"></div>
        </body>
      </html>
    
  

2.3 Angabe der Werte

Verwendung von Prozentwerten

In diesem Beispiel befindet sich der Ursprungspunkt der Transformation bei 25% horizontal und 75% vertikal.

HTML
    
      <!DOCTYPE html>
      <html lang="en">
        <head>
          <meta charset="UTF-8">
          <meta name="viewport" content="width=device-width, initial-scale=1.0">
          <title>Ursprungspunkt mit Prozentwerten</title>
          <style>
            .box {
              width: 100px;
              height: 100px;
              background-color: #9b59b6;
              transform: rotate(45deg);
              transform-origin: 25% 75%;
            }
          </style>
        </head>
        <body>
          <div class="box"></div>
        </body>
      </html>
    
  

Verwendung von absoluten Werten

In diesem Beispiel ist der Ursprungspunkt der Transformation 50 Pixel horizontal und 20 Pixel vertikal verschoben.

HTML
    
      <!DOCTYPE html>
      <html lang="en">
        <head>
          <meta charset="UTF-8">
          <meta name="viewport" content="width=device-width, initial-scale=1.0">
          <title>Ursprungspunkt mit absoluten Werten</title>
          <style>
            .box {
              width: 100px;
              height: 100px;
              background-color: #f1c40f;
              transform: rotate(45deg);
              transform-origin: 50px 20px;
            }
          </style>
        </head>
        <body>
          <div class="box"></div>
        </body>
      </html>
    
  

2.4 Praktische Anwendung

Drehung eines Elements um einen bestimmten Punkt

Die Nutzung von transform-origin ist nützlich, um drehende Elemente zu erstellen, die sich um einen bestimmten Punkt drehen sollen. Zum Beispiel das Erstellen eines Uhrzeigers.

HTML
    
      <!DOCTYPE html>
      <html lang="en">
        <head>
          <meta charset="UTF-8">
          <meta name="viewport" content="width=device-width, initial-scale=1.0">
          <title>Drehung eines Uhrzeigers</title>
          <style>
            .clock {
              position: relative;
              width: 200px;
              height: 200px;
              border: 5px solid #333;
              border-radius: 50%;
              margin: 50px auto;
            }

            .hand {
              position: absolute;
              bottom: 50%;
              left: 50%;
              width: 5px;
              height: 50%;
              background-color: #333;
              transform-origin: bottom center;
            }

            .hour-hand {
              transform: rotate(30deg); /* Beispiel für die Position bei 1 Uhr */
            }
          </style>
        </head>
        <body>
          <div class="clock">
            <div class="hand hour-hand"></div>
          </div>
        </body>
      </html>
    
  

Erstellen eines skalierbaren Elements

Die Veränderung des Ursprungspunkts ist auch nützlich, um Elemente relativ zu verschiedenen Punkten zu skalieren, was hilfreich sein kann, um dynamische Benutzeroberflächen zu erstellen.

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

            .box:hover {
              transform: scale(1.5);
            }
          </style>
        </head>
        <body>
          <div class="box"></div>
        </body>
      </html>
    
  
Kommentare
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION