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 |
(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.