The translate3d()
CSS function moves the position of the element in the 3D space. This transformation is characterized by a 3-dimension vector whose coordinates define how much it moves in each direction.
Syntax
translate3d(tx, ty, tz)
Values
- tx
- Is a
<length>
representing the abscissa of the translating vector. - ty
- Is a
<length>
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 transform applies to the 3D space and cannot be represented on the plane. |
A translation is not a linear transform in ℝ3 and cannot be represented using a matrix in the Cartesian coordinates system. |
Examples
Using a single axis translation
HTML
<p>foo</p> <p class="transformed">bar</p> <p>foo</p>
CSS
p { width: 50px; height: 50px; background-color: teal; } .transformed { transform: perspective(500px) translate3d(10px,0px,0px); /* equivalent to perspective(500px) translateX(10px)*/ background-color: blue; }
Result
Combining z-axis and x-axis translation
HTML
<p>foo</p> <p class="transformed">bar</p> <p>foo</p>
CSS
p { width: 50px; height: 50px; background-color: teal; } .transformed { transform: perspective(500px) translate3d(10px,0px,100px); background-color: blue; }