--- title: transform slug: Web/CSS/transform tags: - CSS - Experimental - NeedsBrowserCompatibility - Propriedade - Propriedade de CSS - Referencia - Transforms translation_of: Web/CSS/transform ---
The CSS transform
property lets you modify the coordinate space of the CSS visual formatting model. Using it, elements can be translated, rotated, scaled, and skewed.
/* Keyword values */ transform: none; /* Function values */ transform: matrix(1.0, 2.0, 3.0, 4.0, 5.0, 6.0); transform: translate(12px, 50%); transform: translateX(2em); transform: translateY(3in); transform: scale(2, 0.5); transform: scaleX(2); transform: scaleY(0.5); transform: rotate(0.5turn); transform: skew(30deg, 20deg); transform: skewX(30deg); transform: skewY(1.07rad); transform: matrix3d(1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1); transform: translate3d(12px, 50%, 3em); transform: translateZ(2px); transform: scale3d(2.5, 1.2, 0.3); transform: scaleZ(0.3); transform: rotate3d(1, 2.0, 3.0, 10deg); transform: rotateX(10deg); transform: rotateY(10deg); transform: rotateZ(10deg); transform: perspective(17px); /* Multiple function values */ transform: translateX(10px) rotate(10deg) translateY(5px); /* Global values */ transform: inherit; transform: initial; transform: unset;
If the property has a value different than none
, a stacking context will be created. In that case the object will act as a containing block for position
: fixed
elements that it contains.
{{cssinfo}}
The transform
property may be specified as either the keyword value none
or as one or more <transform-function>
values.
<transform-function>
none
See Using CSS transforms.
<p>Transformed element</p>
p { border: solid red; -webkit-transform: translate(100px) rotate(20deg); -webkit-transform-origin: 0 -250px; transform: translate(100px) rotate(20deg); transform-origin: 0 -250px; }
{{EmbedLiveSample("Live_example", "400", "170")}}
Specification | Status | Comment |
---|---|---|
{{SpecName('CSS Transforms 2', '#transform-functions', 'transform')}} | {{Spec2('CSS Transforms 2')}} | Adds 3D transform functions. |
{{SpecName('CSS3 Transforms', '#transform-property', 'transform')}} | {{Spec2('CSS3 Transforms')}} | Initial definition |
{{CompatibilityTable}}
Funionalidade | Chrome | Edge | Firefox (Gecko) | Internet Explorer | Opera | Safari |
---|---|---|---|---|---|---|
Suporte básico | {{CompatVersionUnknown}} {{property_prefix("-webkit")}} 36 |
{{CompatVersionUnknown}}{{property_prefix("-webkit")}} {{CompatVersionUnknown}} |
{{CompatGeckoDesktop("1.9.1")}}{{property_prefix("-moz")}}[1] {{CompatGeckoDesktop("16.0")}}[2] |
9.0{{property_prefix("-ms")}}[3] 10.0 |
10.5{{property_prefix("-o")}} 12.10 15.0{{property_prefix("-webkit")}} 23 |
3.1{{property_prefix("-webkit")}} 9.0 |
Suporte 3D | 12.0{{property_prefix("-webkit")}} 36 |
{{CompatVersionUnknown}} | 10.0{{property_prefix("-moz")}} {{CompatGeckoDesktop("16.0")}} |
10.0 | 15.0{{property_prefix("-webkit")}} 23 |
4.0{{property_prefix("-webkit")}} |
Funcionalidade | Android | Chrome for Android | Edge | Firefox Mobile (Gecko) | IE Mobile | Opera Mobile | Safari Mobile |
---|---|---|---|---|---|---|---|
Suporte básico | {{CompatAndroid(2.1)}}{{property_prefix("-webkit")}}[4] | {{CompatVersionUnknown}}{{property_prefix("-webkit")}} | {{CompatVersionUnknown}}{{property_prefix("-webkit")}} {{CompatVersionUnknown}} |
{{CompatVersionUnknown}} | {{CompatVersionUnknown}} 11.0{{property_prefix("-webkit")}}[5] |
11.5{{property_prefix("-webkit")}} | 3.2 {{CompatVersionUnknown}}{{property_prefix("-webkit")}} 9.0 |
Suporte 3D | {{CompatAndroid(3.0)}}{{property_prefix("-webkit")}} | {{CompatVersionUnknown}}{{ property_prefix("-webkit")}} | {{CompatVersionUnknown}} | {{CompatVersionUnknown}} | {{CompatVersionUnknown}} | 22{{property_prefix("-webkit")}} | 3.2 {{CompatVersionUnknown}}{{property_prefix("-webkit")}} 9.0 |
[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 {{cssxref("<length>")}}, in addition to the standard {{cssxref("<number>")}}.
In addition to the unprefixed support, Gecko 44.0 {{geckoRelease("44.0")}} added support for a -webkit
prefixed version of the property for web compatibility reasons behind the preference layout.css.prefixes.webkit
, defaulting to false
. Since Gecko 49.0 {{geckoRelease("49.0")}} the preference defaults to true
.
[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.
Internet Explorer does not support the global values initial
and unset.
[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 {{property_prefix("-webkit")}} prefixed variant as an alias for the default one.