The translateZ()
CSS function repositions an element along the z-axis in 3D space, i.e., closer to or farther away from the viewer. Its result is a <transform-function>
data type.
This transformation is defined by a <length>
which specifies how far inward or outward the element or elements move.
Note: translateZ(tz)
is equivalent to translate3d(0, 0, tz)
.
translateZ(tz)
tz
<length>
representing the z-component of the translating vector. A positive value moves the element towards the viewer, and a negative value farther away.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. |
In this example, two boxes are created. One is positioned normally on the page, without being translated at all. The second is altered by applying perspective to create a 3D space, then moved towards the user.
<div>Static</div> <div class="moved">Moved</div>
div { position: relative; width: 60px; height: 60px; left: 100px; background-color: skyblue; } .moved { transform: perspective(500px) translateZ(200px); background-color: pink; }
What really matters here is the class "moved"; let's take a look at what it does. First, the perspective()
function positions the viewer relative to the plane that lies where z=0 (in essence, the surface of the screen). A value of 500px
means the user is 500 pixels "in front of" the imagery located at z=0.
Then, the translateZ()
function moves the element 200 pixels "outward" from the screen, toward the user. This has the effect of making the element appear larger when viewed on a 2D display, or closer when viewed using a VR headset or other 3D display device.
Specification | Status | Comment |
---|---|---|
CSS Transforms Level 2 The definition of 'transform' in that specification. | Editor's Draft | Adds 3D transform functions to the CSS Transforms standard. |
Please see the <transform-function>
data type for compatibility info.
© 2005–2018 Mozilla Developer Network and individual contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/CSS/transform-function/translateZ