transform property

Gets or sets a list of one or more transform functions that specify how to translate, rotate, or scale an element in 2-D or 3-D space.

This property is read/write.

CSS Transforms Module, Level 3, Section 6Internet Explorer 9



transform: none | <transform-function> [ <transform-function> ] *

Property values


One or more transformation functions, separated by whitespace, applied in the order specified.


Keyword that indicates no transformation function is applied.

CSS information

Applies Toblock-level and inline-level elements
Initial Valuenone

Standards information


As of Microsoft Edge, support for the usage of the calc() expression in both static and animated translate transforms is supported. Also, "-webkit-calc()" is supported as an alias for the calc() expression.

As of Microsoft Edge, the "-ms-" prefixed version of this property is not supported.

The version of this property using a vendor prefix, -ms-transform, has been deprecated in Internet Explorer 10 and later. However, be aware that -ms-transform is the only form of this property that is recognized by Windows Internet Explorer 9, which supports 2-D Cascading Style Sheets (CSS) transforms. To ensure maximum compatibility, specify a cascade such as the following, where the prefixed versions of the property come before the unprefixed version.

#mytransform {
  -ms-transform: translate(200px, 100px) scale(.75, .75) rotate(40deg);
  -webkit-transform: translate(200px, 100px) scale(.75, .75) rotate(40deg);
  -moz-transform: translate(200px, 100px) scale(.75, .75) rotate(40deg);
  transform: translate(200px, 100px) scale(.75, .75) rotate(40deg);

For information about the transformation functions that are supported for use with the transform property, see Transform Functions.

To learn more about CSS transforms in Windows Internet Explorer, see How to bring your webpage to life with CSS transforms, transitions, and animations.

As of Internet Explorer for Windows Phone 8.1 Update, Internet Explorer for Windows Phone supports "-webkit-transform" as an alias for this property.


The following example is an ID selector that demonstrates the use of both the transform and the transform-origin properties. In this case, the transform-origin property has been set to "60% 100%", which sets the transform's origin point to 60% of the length and 100% of the height of the element to be transformed. The transform property first uses the translate function and the calc() expression to calculate moving the element 30% minus 10px in x direction and 5% plus 10 pixels in the y direction. It then uses the scale function to scale the element by 75%. Finally, it uses the rotate function to rotate the element 45 degrees clockwise around the origin point set by the transform-origin property.

div {
   width: 100px;
   height: 100px;
   background-color: #D3D3D3;
   border: solid 2px; #000;
#mytransform {
  transform: translate(calc(30% - 10px), calc(5% + 10px)) scale(.75, .75) rotate(45deg);
  transform-origin: 60% 100%;

In image below, you can see the original element and the element after the transform property has been used.

An original element and an element with the transform property applied

See also

How to bring your webpage to life with CSS transforms, transitions, and animations



© 2015 Microsoft