通过@keyframes和transform: rotate()实现旋转动画,先定义从0deg到360deg的动画关键帧,再将动画绑定到元素并设置时长、速度曲线和循环次数,结合transform-origin调整旋转中心,可创建如加载图标等常见效果。
实现旋转动画效果主要通过CSS的@keyframes和transform: rotate()来完成。下面介绍具体写法和常用技巧。
使用@keyframes创建一个旋转动画,从0度转到360度:
m {
transform: rotate(0deg);
}
to {
transform: rotate(360deg);
}
}
也可以用百分比写法,控制更精细:
@keyframes rotate { 0% { transform: rotate(0deg); } 100% { transform: rotate(360deg); } }将定义好的动画绑定到目标元素,并设置持续时间、循环方式等:
.spinner { width: 50px; height: 50px; background: #007bff; animation: rotate 2s linear infinite; }参数说明:
rotate:动画名称,对应@keyframes定义的名字2s:动画持续2秒linear:匀速旋转infinite:无限循环默认旋转中心是元素中心(50% 50%),可通过transform-origin修改:
常见取值包括:center、top、left、right、bottom或具体像素/百分比。
结合边框和旋转,做一个常见的加载动画:
.loader { width: 40px; height: 40px; border: 4px solid #f3f3f3; border-top: 4px solid #3498db; border-radius: 50%; animation: rotate 1s linear infinite; }这个效果利用了不同颜色的顶部边框,在圆形元素上旋转,形成动态加载感。
基本上就这些。掌握@keyframes和transform: rotate()的配合,再调整好动画速度和中心点,就能实现各种旋转效果。不复杂但容易忽略细节。