rotate3d() - CSS(层叠样式表) 编辑
rotate3d()
CSS函数定义一个变换,它将元素围绕固定轴移动而不使其变形。运动量由指定的角度定义; 如果为正,运动将为顺时针,如果为负,则为逆时针。
The source for this interactive example is stored in a GitHub repository. If you'd like to contribute to the interactive examples project, please clone https://github.com/mdn/interactive-examples and send us a pull request.
在3D空间之中,旋转有3个自由维度,描述了旋转轴。旋转轴由一组 [x, y, z] 矢量定义,并且通过变换源点传递(即通过 transform-origin
CSS 属性定义)。如果这些矢量被赋予非标准值,即3个坐标值的平方和不等于1时,它将会被内部隐式标准化。非标准矢量,例如空值和 [0, 0, 0],将会使旋转不起作用,但是不影响整个CSS属性的其他效果(译者注:如transform中的多项变换)。
语法
rotate3d(x, y, z, a)
值
- x
-
<number>
类型,可以是0到1之间的数值,表示旋转轴X坐标方向的矢量。 - y
<number>
类型, 可以是0到1之间的数值,表示旋转轴Y坐标方向的矢量。- z
<number>
类型, 可以是0到1之间的数值,表示旋转轴Z坐标方向的矢量。- a
-
<angle>
类型,表示旋转角度。正的角度值表示顺时针旋转,负值表示逆时针旋转。
笛卡尔坐标 on ℝ2 | 齐次坐标 on ℝℙ2 | 笛卡尔坐标 on ℝ3 | 齐次坐标 on ℝℙ3 |
---|---|---|---|
这种变换应用于3D空间,不可用于平面空间 |
示例
绕Y轴旋转
HTML
<div>Normal</div>
<div class="rotated">Rotated</div>
CSS
body {
perspective: 800px;
}
div {
width: 80px;
height: 80px;
background-color: skyblue;
}
.rotated {
transform: rotate3d(0, 1, 0, 60deg);
background-color: pink;
}
效果
围绕自定义轴旋转
HTML
<div>Normal</div>
<div class="rotated">Rotated</div>
CSS
body {
perspective: 800px;
}
div {
width: 80px;
height: 80px;
background-color: skyblue;
}
.rotated {
transform: rotate3d(1, 2, -1, 192deg);
background-color: pink;
}
效果
浏览器兼容
有关兼容性信息,请参阅<transform-function>
数据类型。
参见
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论