The translate3d()
CSS function repositions an element in 3D space. Its result is a
<transform-function>()
data type.
This transformation is characterized by a three-dimensional vector. Its coordinates define how much the element moves in each direction.
Syntax
translate3d(tx, ty, tz)
Values
tx
-
Is a
<length>()
or<percentage>()
representing the abscissa of the translating vector. ty
-
Is a
<length>()
or<percentage>()
representing the ordinate of the translating vector. tz
-
Is a
<length>()
representing the z component of the translating vector. It can't be a<percentage>()
value; in that case the property containing the transform is considered invalid.
Cartesian coordinates on ℝ^2 | Homogeneous coordinates on ℝℙ^2 | Cartesian coordinates on ℝ^3 | Homogeneous coordinates on ℝℙ^3 |
---|---|---|---|
This transformation applies to the 3D space and can't be represented on the plane. |
A translation is not a linear transformation in ℝ^3 and can't be represented using a Cartesian-coordinate matrix. |
Examples
Using a single axis translation
HTML
<div>Static</div> <div class="moved">Moved</div> <div>Static</div>
CSS
div { width: 60px; height: 60px; background-color: skyblue; } .moved { /* Equivalent to perspective(500px) translateX(10px) */ transform: perspective(500px) translate3d(10px, 0, 0px); background-color: pink; }
Combining z-axis and x-axis translation
HTML
<div>Static</div> <div class="moved">Moved</div> <div>Static</div>
CSS
div { width: 60px; height: 60px; background-color: skyblue; } .moved { transform: perspective(500px) translate3d(10px, 0, 100px); background-color: pink; }