This is an experimental technology
Check the Browser compatibility table carefully before using this in production.

This page is not complete.

The translate CSS property allows you to specify translation transforms individually and independantly 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.


/* Keyword values */
translate: none;

/* Single values */
translate: 100px;
translate: 50%;

/* Two values */
translate: 100px 200px;
translate: 50% 105px;

/* Three values */
translate: 50% 105px 5rem;


Single length/percentage value
A length or percentage that specifies a 2D translation, with the same translation along both the X and Y axes. Equivalent to a translate() (2D translation) function with a single value specified.
Two length/percentage values
Two lengths or percentages that specify the X and Y axis translation values (respectively) of a 2D translation. Equivalent to a translate() (2D translation) function with two values specified.
Three length/percentage values
Three lengths or percentages that specify the X, Y, and Z axis translation values (respectively) of a 3D translation. Equivalent to a translate3d() (3D translation) function.
Specifies that no translation should be applied.

Formal syntax

none | <length-percentage> [ <length-percentage> <length>? ]?

<length-percentage> = <length> | <percentage>



  <p class="translate">Translation</p>


* {
  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;

.translate {
  transition: translate 1s;

div:hover .translate {
  translate: 200px 50px;




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

Initial valuenone
Applies totransformable elements
Percentagesrefer to the size of bounding box
Computed valueas specified, but with relative lengths converted into absolute lengths
Animation typea transform
Canonical orderper grammar
Creates stacking contextyes

Browser compatibility

FeatureChromeEdgeFirefoxInternet ExplorerOperaSafari
Basic support Yes No601 No No No
FeatureAndroid webviewChrome for AndroidEdge mobileFirefox for AndroidOpera AndroidiOS SafariSamsung Internet
Basic support Yes Yes No601 No No Yes

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

Document Tags and Contributors

Contributors to this page: Siilwyn, ExE-Boss, chrisdavidmills
Last updated by: Siilwyn,