CSS 3D Transforms are a set of properties that allow you to transform elements in 3D space. They can be used to create 3D effects such as rotating an element in 3D space or creating a 3D perspective.
Here are some of the most common CSS 3D Transform properties:
This property allows child elements to preserve their 3D position relative to their parent element.
As an example:
In this example:
- The
.parent element is set to transform-style: preserve-3d to preserve the 3D position of its child elements. - The
.child element is translated 50 pixels away from the screen using translateZ(50px).
This property allows you to move an element in 3D space. You can specify the amount of movement in pixels, percentages, or other units.
As an example:
In this example:
- The
.box element is translated 100 pixels to the right, 50 pixels down, and 20 pixels away from the screen.
This property allows you to rotate an element
in 3D space around an axis specified by the x, y, and z values. You can use degrees,
radians, or other units to specify the angle.
As an example:
In this example:
- The
.box element is rotated 45 degrees around the x-axis using rotate3d(1, 0, 0, 45deg).
This property allows you to resize an element in 3D space. You can specify the scaling factor as a decimal or percentage.
As an example:
In this example:
- The
.box element is scaled to twice its original size in the x-direction, stays the same in the y-direction, and scaled down to half its original size in the z-direction.
Perespective
This property creates a 3D perspective for the parent element, allowing you to control the depth of the 3D space.
As an example:
In this example:
- The
.parent element is given a perspective of 1000px to create a 3D perspective. - The .child element is translated
50 pixels away from the screen using translateZ(50px).
The perspective-origin property
This property allows you to specify the point around which the 3D space is viewed.
As an example:
In this example:
- The
.parent element is given a perspective of 1000px and a perspective-origin of 50% 50% (the center of the element) to create a 3D perspective. - The
.child element is translated 50 pixels away from the screen using translateZ(50px).