--- title: rotate3d() slug: Web/CSS/transform-function/rotate3d() tags: - 3D - CSS - CSS Transforms translation_of: Web/CSS/transform-function/rotate3d() ---
rotate3d()
CSS函数定义一个变换,它将元素围绕固定轴移动而不使其变形。运动量由指定的角度定义; 如果为正,运动将为顺时针,如果为负,则为逆时针。
在3D空间之中,旋转有3个自由维度,描述了旋转轴。旋转轴由一组 [x, y, z] 矢量定义,并且通过变换源点传递(即通过 {{ cssxref("transform-origin") }} CSS 属性定义)。如果这些矢量被赋予非标准值,即3个坐标值的平方和不等于1时,它将会被内部隐式标准化。非标准矢量,例如空值和 [0, 0, 0],将会使旋转不起作用,但是不影响整个CSS属性的其他效果(译者注:如transform中的多项变换)。
rotate3d(x, y, z, a)
笛卡尔坐标 on ℝ2 | 齐次坐标 on ℝℙ2 | 笛卡尔坐标 on ℝ3 | 齐次坐标 on ℝℙ3 |
---|---|---|---|
这种变换应用于3D空间,不可用于平面空间 | ![]() |
![]() |
<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("绕Y轴旋转","100%","200")}}
<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("围绕自定义轴旋转","100%","200")}}
有关兼容性信息,请参阅<transform-function>
数据类型。