Mehrere Transformationen mit matrix() beschreiben
Die Funktion matrix() beschreibt mehrere
2D-Transformationen mithilfe von sechs Zahlenwerten. Sie kann unter anderem
Skalierungen, Neigungen und Verschiebungen zusammenfassen.
transform: matrix(a, b, c, d, e, f);
| Wert |
Bedeutung |
a |
Beeinflusst hauptsächlich die Skalierung entlang der x-Achse.
|
b |
Beeinflusst die Neigung beziehungsweise Drehung.
|
c |
Beeinflusst die Neigung beziehungsweise Drehung.
|
d |
Beeinflusst hauptsächlich die Skalierung entlang der y-Achse.
|
e |
Verschiebung entlang der x-Achse. |
f |
Verschiebung entlang der y-Achse. |
Die ersten vier Werte wirken gemeinsam auf Skalierung, Drehung und Neigung.
Sie sollten daher nicht völlig unabhängig voneinander betrachtet werden.
Einfache matrix()-Beispiele
Die unveränderte Ausgangsdarstellung wird mit folgender Matrix beschrieben:
.element {
transform: matrix(1, 0, 0, 1, 0, 0);
}
Die nächsten beiden Schreibweisen verschieben ein Element um
40px nach rechts und um 20px nach unten:
.element {
transform: translate(40px, 20px);
}
.element {
transform: matrix(1, 0, 0, 1, 40, 20);
}
Auch eine einfache Skalierung kann als Matrix geschrieben werden:
.element {
transform: scale(1.2, 0.8);
}
.element {
transform: matrix(1.2, 0, 0, 0.8, 0, 0);
}
Für handgeschriebenen CSS-Code sind Funktionen wie
translate(), rotate() und
scale() wesentlich leichter lesbar. Eine Matrix begegnet dir
häufig in Browser-Entwicklertools oder in automatisch erzeugtem Code.