CSS3 Transform
CSS3 Transformer sind Teil der W3C-CSS3 Recommendation.
Die neue Eigenschaft transform
bestimmt, wie das angesprochene Element transformiert / verändert werden soll. Sie ermöglicht lineare Transformationen von Elementen. Wir können Elemente verschieben, rotieren, skalieren oder neigen.
Transformation Funktionen
Neue Browser unterstützen diese Definitionen. Webkit- und Mozilla-Browser benötigen ein Präfix.
translate(<translation-value>[, <translation-value>]) translateX(<translation-value>) translateY(<translation-value>) scale(<number>[, <number>]) scaleX(<number>) scaleY(<number>) rotate(<angle>) skew(<angle> [, <angle>]) MDN says: do not use, use skewX/skewY resp. matrix() skewX(<angle>) skewY(<angle>)
Transformation Beispiele
translate verschiebt hier das Element um 20px in beide Richtungen (X- und Y-Achse). .trnl { transform: translate(20px, 20px); }
rotate das Element wird um die Z-Achse in Uhrzeiger-Richtung gedreht. Minuswerte drehen das Element in die andere Richtung..roat { transform: rotate(50deg); }
scale skaliert hier das Element um 150%. Minuswerte sind auch möglich..skl { transform: scale(1.5, 1.5) }
skew neigt die Fläche im angegebenen Winkel und der definierten Richtung..skw { transform: skewX(40deg) skewY(20deg); }
Browser Syntax
skew(<x-angle>, <y-angle>) wird noch unterstützt, ist aber in der aktuellen CSS3-Spezifikation zu Gunsten von skewX() resp. skewY() (oder der matrix-Funktion) entfernt worden, vgl. MDN: "The skew() function was present in early drafts. It has been removed but is still present in some implementations. Do not use it. Use skewX/skewY resp the matrix-function".
skewX(<angle>); skewY(<angle>); Deprecated: skew(<x-angle>, <y-angle>); .skw { -webkit-transform: skewX(40deg) skewY(20deg); -moz-transform: skewX(40deg) skewY(20deg); -o-transform: skewX(40deg) skewY(20deg); transform: skewX(40deg) skewY(20deg); } /* FFox auch ohne Prefix ab v.16+ */
Alle Transformation Funktionen können kombiniert werden.
.all { transform: translate(50px, 50px) scale(1.5, 1.5) rotate(25deg); }