--- title: rotate3d() slug: Web/CSS/transform-function/rotate3d() tags: - CSS translation_of: Web/CSS/transform-function/rotate3d() ---
rotate3d()
трансформирует элемент без деформации, вращая его в трёхмерном пространстве вокруг зафиксированной оси. Её результатом является тип {{cssxref ("<transform-function>")}}.In 3D space, rotations have three degrees of liberty, which together describe a single axis of rotation. The axis of rotation is defined by an [x, y, z] vector and pass by the origin (as defined by the {{ cssxref("transform-origin") }} property). If, as specified, the vector is not normalized (i.e., if the sum of the square of its three coordinates is not 1), the {{glossary("user agent")}} will normalize it internally. A non-normalizable vector, such as the null vector, [0, 0, 0], will cause the rotation to be ignored, but without invaliding the whole CSS property.
The amount of rotation created by rotate3d()
is specified by three {{cssxref("<number>")}}s and one {{cssxref("<angle>")}}. The <number>
s represent the x-, y-, and z-coordinates of the vector denoting the axis of rotation. The <angle>
represents the angle of rotation; if positive, the movement will be clockwise; if negative, it will be counter-clockwise.
rotate3d(x, y, z, a)
x
y
z
a
<div>Normal</div> <div class="rotated">Rotated</div>
body { perspective: 800px; } div { width: 80px; height: 80px; background-color: skyblue; } .rotated { transform: rotate3d(0, 1, 0, 60deg); background-color: pink; }
{{EmbedLiveSample("Rotating_on_the_y-axis", "auto", 180)}}
<div>Normal</div> <div class="rotated">Rotated</div>
body { perspective: 800px; } div { width: 80px; height: 80px; background-color: skyblue; } .rotated { transform: rotate3d(1, 2, -1, 192deg); background-color: pink; }
{{EmbedLiveSample("Rotating_on_a_custom_axis", "auto", 180)}}
Please see the <transform-function>
data type for compatibility info.