--- title: rotate3d() slug: Web/CSS/transform-function/rotate3d tags: - CSS translation_of: Web/CSS/transform-function/rotate3d() original_slug: 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)
xyza<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.