scale

The scale CSS property allows you to specify scale transforms individually and independently of the transform property. This maps better to typical user interface usage, and saves having to remember the exact order of transform functions to specify in the transform value.

Syntax

/* Keyword values */
scale: none;

/* Single values */
/* values of more than 1 make the element grow */
scale: 2;
/* values of less than 1 make the element shrink */
scale: 0.5;

/* Two values */
scale: 2 0.5;

/* Three values */
scale: 2 0.5 2;

Values

Single number value
A <number> specifying a scale factor to make the affected element scale by the same factor along both the X and Y axes. Equivalent to a scale() (2D scaling) function with a single value specified.
Two length/percentage values
Two <number>s that specify the X and Y axis scaling values (respectively) of a 2D scale. Equivalent to a scale() (2D scaling) function with two values specified.
Three length/percentage values
Three <number>s that specify the X, Y, and Z axis scaling values (respectively) of a 3D scale. Equivalent to a scale3d() (3D scaling) function.
none
Specifies that no scaling should be applied.

Formal definition

Initial valuenone
Applies totransformable elements
Inheritedno
Computed valueas specified
Animation typea transform
Creates stacking contextyes

Formal syntax

none | <number>{1,3}

Examples

Scaling an element on hover

HTML

<div>
  <p class="scale">Scaling</p>
</div>

CSS

* {
  box-sizing: border-box;
}

html {
  font-family: sans-serif;
}

div {
  width: 150px;
  margin: 0 auto;
}

p {
  padding: 10px 5px;
  border: 3px solid black;
  border-radius: 20px;
  width: 150px;
  font-size: 1.2rem;
  text-align: center;
}

.scale {
  transition: scale 1s;
}

div:hover .scale {
  scale: 2 0.7;
}

Result

Specifications

Specification Status Comment
CSS Transforms Level 2
The definition of 'individual transforms' in that specification.
Editor's Draft Initial definition.

Browser compatibility

DesktopMobile
ChromeEdgeFirefoxInternet ExplorerOperaSafariAndroid webviewChrome for AndroidFirefox for AndroidOpera for AndroidSafari on iOSSamsung Internet
scaleChrome No support NoEdge No support NoFirefox Full support 72
Full support 72
No support 60 — 72
Disabled
Disabled From version 60 until version 72 (exclusive): this feature is behind the layout.css.individual-transform.enabled preference (needs to be set to true). To change preferences in Firefox, visit about:config.
IE No support NoOpera No support NoSafari No support NoWebView Android No support NoChrome Android No support NoFirefox Android Full support 60
Disabled
Full support 60
Disabled
Disabled From version 60: this feature is behind the layout.css.individual-transform.enabled preference (needs to be set to true). To change preferences in Firefox, visit about:config.
Opera Android No support NoSafari iOS No support NoSamsung Internet Android No support No

Legend

Full support
Full support
No support
No support
User must explicitly enable this feature.
User must explicitly enable this feature.

See also

Note: skew is not an independent transform value