rotateZ() - Z 轴旋转
等同于 rotate(),绕 Z 轴旋转
什么是 rotateZ()?
rotateZ() 函数绕 Z 轴(垂直于屏幕)旋转元素。效果与
rotate() 完全相同,都是平面旋转。
语法说明
transform: rotateZ(angle);
- angle - 旋转角度
- deg(度):最常用,360deg = 一圈
- rad(弧度):2π rad = 一圈
- turn(圈数):1turn = 一圈
- 正值:顺时针旋转
- 负值:逆时针旋转
示例 1:基础旋转
悬停方块查看旋转效果
悬停旋转 45°
固定 90°
固定 180°
/* 基础旋转 */
.box {
transform: rotateZ(45deg);
}
/* 悬停旋转 */
.box:hover {
transform: rotateZ(45deg);
}
示例 2:rotateZ() vs rotate()
两者效果完全相同
rotate(45deg)
rotateZ(45deg)
/* 这两种写法效果完全相同 */
.box1 { transform: rotate(45deg); }
.box2 { transform: rotateZ(45deg); }
/* rotate() 是 rotateZ() 的简写 */
示例 3:持续旋转动画
使用 @keyframes 创建旋转动画
持续旋转
@keyframes spinZ {
from { transform: rotateZ(0deg); }
to { transform: rotateZ(360deg); }
}
.spinning {
animation: spinZ 2s linear infinite;
}
重要说明
- 与 rotate() 的关系:rotateZ() 和 rotate() 效果完全相同
-
何时使用 rotateZ():
- 与 rotateX()、rotateY() 一起使用时,保持命名一致性
- 在 3D 变换中明确指定 Z 轴旋转
- 其他情况下,使用 rotate() 更简洁
实际应用
/* 加载动画 */
.spinner {
animation: spinZ 1s linear infinite;
}
/* 3D 组合变换 - 保持命名一致性 */
.cube {
transform: rotateX(30deg) rotateY(45deg) rotateZ(15deg);
}
/* 卡片翻转 */
.card:hover {
transform: rotateZ(5deg) scale(1.05);
}