CSS Transforms

CSS Transforms is a module of CSS that defines how elements styled with CSS can be transformed in two-dimensional or three-dimensional space.

Reference

CSS Properties

Guides

Using CSS transforms
Step-by-step tutorial about how to transform elements styled with CSS.

Specifications

Specification Status Comment
CSS Transforms Level 1 Working Draft Initial definition.

Browser compatibility

Feature Chrome Edge Firefox (Gecko) Internet Explorer Opera Safari
Basic support

(Yes) -webkit
36

(Yes) 3.5 (1.9.1)-moz[1]
16.0 (16.0)[2]
9.0-ms[3]
10.0
10.5-o
12.10
15.0-webkit
23
3.1-webkit
3D Support 12.0-webkit
36
(Yes) 10.0-moz
16.0 (16.0)
10.0 15.0-webkit
23
4.0-webkit
Feature Android Chrome for Android Edge Firefox Mobile (Gecko) IE Mobile Opera Mobile Safari Mobile
Basic support 2.1-webkit[4] (Yes)-webkit (Yes) (Yes) (Yes)
11.0-webkit[5]
11.5-webkit 3.2 (Yes)-webkit
3D Support 3.0-webkit (Yes)-webkit (Yes) (Yes) (Yes) 22-webkit 3.2 (Yes)-webkit

[1] Gecko 14.0 removed the experimental support for skew(), but it was reintroduced in Gecko 15.0 for compatibility reasons. As it is non-standard and will likely be removed in the future, do not use it.

[2] Before Firefox 16, the translation values of matrix() and matrix3d() could be <length>, in addition to the standard <number>.

[3] Internet Explorer 5.5 or later supports a proprietary Matrix Filter which can be used to achieve a similar effect.

Internet Explorer 9.0 or earlier has no support for 3D transforms, mixing 3D and 2D transform functions. such as -ms-transform:rotate(10deg) translateZ(0); will prevent the entire property from being applied.

[4] Android 2.3 has a bug where input forms will "jump" when typing, if any container element has a -webkit-transform.

[5] Internet Explorer 11.0 supports the -webkit prefixed variant as an alias for the default one.

Document Tags and Contributors

 Contributors to this page: wbamberg, erikadoyle, Sebastianz, Prinz_Rana, teoli
 Last updated by: wbamberg,