CSS3 2D-Transformation


CSS3-Transformationen

CSS3-Transformationen können Elemente verschieben, skalieren, drehen, verlängern oder strecken.

CSS3 Transforms

Wie funktioniert das?

Die Wirkung einer Transformation besteht darin, die Form, Größe und Position eines Elements zu ändern.

Sie können 2D- oder 3D-Transformationen verwenden, um Ihre Elemente zu transformieren.

Bewegen Sie die Maus über die folgenden Elemente, um die 2D- und 3D-Transformationseffekte zu sehen:

2D-Transformation
3D-Transformation

Browser-Unterstützung

Die Zahlen in der Tabelle geben die erste Browserversion an, die die Eigenschaft unterstützt.

Zahlen gefolgt von -webkit-, -ms- oder -moz- geben die erste Browserversion an, die die präfixierte Eigenschaft unterstützte.

Eigenschaft
transform 36.0
4.0 -webkit-
10.0
9.0 -ms-
16.0
3.5 -moz-
3.2 -webkit- 23.0
15.0 -webkit-
12.1
10.5 -o-
transform-origin
(Zwei-Wert-Syntax)
36.0
4.0 -webkit-
10.0
9.0 -ms-
16.0
3.5 -moz-
3.2 -webkit- 23.0
15.0 -webkit-
12.1
10.5 -o-

Internet Explorer 10 und Opera unterstützen die transform-Eigenschaft.

Chrome und Safari benötigen die mit -webkit- präfixierte Version.

Hinweis:Internet Explorer 9 erfordert die mit -ms- präfixierte Version.


2D-Transformation

In diesem Kapitel lernst du 2D-Transformationsmethoden kennen:

  • translate()
  • rotate()
  • scale()
  • skew()
  • matrix()

Im nächsten Kapitel lernst du 3D-Transformationen kennen.

OperaSafariChromeFirefoxInternet Explorer

Beispiel

div { transform: rotate(30deg); -ms-transform: rotate(30deg); /* IE 9 */ -webkit-transform: rotate(30deg); /* Safari und Chrome */ }

Selbst ausprobieren »


translate()-Methode

Translate

Die translate()-Methode verschiebt ein Element von seiner aktuellen Position entsprechend den Parametern, die für die linke (X-Achse) und obere (Y-Achse) Position angegeben sind.

OperaSafariChromeFirefoxInternet Explorer

Beispiel

div { transform: translate(50px,100px); -ms-transform: translate(50px,100px); /* IE 9 */ -webkit-transform: translate(50px,100px); /* Safari und Chrome */ }

Selbst ausprobieren »

Der translate-Wert (50px, 100px) verschiebt das Element 50 Pixel von links und 100 Pixel von oben.


rotate()-Methode

Rotate

Die rotate()-Methode dreht ein Element um einen angegebenen Winkel im Uhrzeigersinn. Negative Werte sind erlaubt, wodurch das Element gegen den Uhrzeigersinn gedreht wird.

OperaSafariChromeFirefoxInternet Explorer

Beispiel

div { transform: rotate(30deg); -ms-transform: rotate(30deg); /* IE 9 */ -webkit-transform: rotate(30deg); /* Safari und Chrome */ }

Selbst ausprobieren »

Der rotate-Wert (30deg) dreht das Element um 30 Grad im Uhrzeigersinn.


scale()-Methode

Scale

Die scale()-Methode vergrößert oder verkleinert die Größe eines Elements, abhängig von den Parametern für Breite (X-Achse) und Höhe (Y-Achse):

OperaSafariChromeFirefoxInternet Explorer

Beispiel

-ms-transform:scale(2,3); /* IE 9 */ -webkit-transform: scale(2,3); /* Safari */ transform: scale(2,3); /*Standardsyntax*/

Selbst ausprobieren »

scale(2,3) transformiert die Breite auf das 2-Fache ihrer ursprünglichen Größe und die Höhe auf das 3-Fache ihrer ursprünglichen Größe.


skew()-Methode

Syntax

transform:skew(<angle> [,<angle>]);

Enthält zwei Parameterwerte, die die Scherwinkel entlang der X-Achse und der Y-Achse repräsentieren. Wenn der zweite Parameter leer ist, ist sein Standardwert 0. Negative Parameter geben eine Scherung in die entgegengesetzte Richtung an.

  • skewX(<angle>); stellt eine Scherung nur entlang der X-Achse (horizontale Richtung) dar.
  • skewY(<angle>); stellt eine Scherung nur entlang der Y-Achse (vertikale Richtung) dar.
OperaSafariChromeFirefoxInternet Explorer

Beispiel

div { transform: skew(30deg,20deg); -ms-transform: skew(30deg,20deg); /* IE 9 */ -webkit-transform: skew(30deg,20deg); /* Safari und Chrome */ }

Selbst ausprobieren »

skew(30deg,20deg)Element inXAchse undYVerzerrt 20 Grad und 30 Grad entlang der Achsen.


matrix()-Methode

Rotate

Die matrix()-Methode kombiniert alle 2D-Transformationsmethoden in einer.

Die matrix-Methode hat sechs Parameter, darunter Funktionen für Rotation, Skalierung, Bewegung (Translation) und Verzerrung.

OperaSafariChromeFirefoxInternet Explorer

Beispiel

Verwenden Sie die matrix()-Methode, um das div-Element um 30° zu drehen.

div { transform:matrix(0.866,0.5,-0.5,0.866,0,0); -ms-transform:matrix(0.866,0.5,-0.5,0.866,0,0); /* IE 9 */ -webkit-transform:matrix(0.866,0.5,-0.5,0.866,0,0); /* Safari und Chrome */ }

Selbst ausprobieren »


Neue Transformationseigenschaften

Im Folgenden sind alle Transformationseigenschaften aufgelistet:

Eigenschaft Beschreibung CSS
transform Gilt für Elemente für 2D- oder 3D-Transformationen. 3
transform-origin Ermöglicht es Ihnen, die Position des transformierten Elements zu ändern. 3

2D-Konvertierungsmethoden

Funktion Beschreibung
matrix(n,n,n,n,n,n) Definiert eine 2D-Transformation unter Verwendung einer Matrix aus sechs Werten.
translate(x,y) Definiert eine 2D-Transformation, die ein Element entlang der X- und Y-Achse verschiebt.
translateX(n) Definiert eine 2D-Transformation, die ein Element entlang der X-Achse verschiebt.
translateY(n) Definiert eine 2D-Transformation, die ein Element entlang der Y-Achse verschiebt.
scale(x,y) Definiert eine 2D-Skalierungstransformation, die die Breite und Höhe des Elements ändert.
scaleX(n) Definiert eine 2D-Skalierungstransformation, die die Breite des Elements ändert.
scaleY(n) Definiert eine 2D-Skalierungstransformation, die die Höhe des Elements ändert.
rotate(angle) Definiert eine 2D-Rotation, die den Winkel im Parameter angibt.
skew(x-angle,y-angle) Definiert eine 2D-Scherungstransformation entlang der X- und Y-Achsen.
skewX(angle) Definiert eine 2D-Scherungstransformation entlang der X-Achse.
skewY(angle) Definiert eine 2D-Scherungstransformation entlang der Y-Achse.
Weitere Erweiterungen