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 ascale()
(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 ascale()
(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 ascale3d()
(3D scaling) function. none
- Specifies that no scaling should be applied.
Formal definition
Initial value | none |
---|---|
Applies to | transformable elements |
Inherited | no |
Computed value | as specified |
Animation type | a transform |
Creates stacking context | yes |
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
The compatibility table in this page is generated from structured data. If you'd like to contribute to the data, please check out https://github.com/mdn/browser-compat-data and send us a pull request.
Desktop | Mobile | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
scale | Chrome No support No | Edge No support No | Firefox
Full support
72
| IE No support No | Opera No support No | Safari No support No | WebView Android No support No | Chrome Android No support No | Firefox Android
Full support
60
| Opera Android No support No | Safari iOS No support No | Samsung 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