定义包含旋转和缩放的关键帧,如@keyframes spinAndGrow {0%{transform:rotate(0deg) scale(1);}100%{transform:rotate(360deg) scale(1.5);}},再将动画绑定到元素并设置持续时间与重复次数,如animation:spinAndGrow 2s ease-in-out infinite,即可实现组合动画,注意transform函数顺序可能影响视觉效果,且该属性性能优良,适用于现代浏览器。

在css中实现旋转和缩放的组合动画,可以通过@keyframes配合transform属性完成。只需要在一个关键帧规则中同时定义rotate()和scale(),浏览器会自动合并这些变换效果。
1. 定义包含旋转和缩放的关键帧
使用@keyframes创建动画序列,在不同时间点设置transform的多个函数组合:
 @keyframes spinAndGrow {   0% {     transform: rotate(0deg) scale(1);   }   100% {     transform: rotate(360deg) scale(1.5);   } } 
上面的动画从不旋转、原始大小开始,到旋转一圈并放大1.5倍结束。你也可以加入中间状态让动画更丰富:
 @keyframes spinAndGrow {   0%   { transform: rotate(0deg) scale(1); }   50%  { transform: rotate(180deg) scale(1.2); }   100% { transform: rotate(360deg) scale(1.5); } } 
2. 应用动画到元素
将定义好的关键帧绑定到目标元素,并设置持续时间、重复次数等:
立即学习“前端免费学习笔记(深入)”;
 .animated-element {   width: 100px;   height: 100px;   background: #3498db;   animation: spinAndGrow 2s ease-in-out infinite; } 
这样该元素就会持续进行旋转加缩放的组合动画。
3. 注意事项与技巧
使用transform多属性动画时,有几个关键点要留意:
- 顺序影响视觉效果:先旋转再缩放和先缩放再旋转在视觉上可能略有差异,尤其是在非中心变换时。
 - 保持性能流畅:transform属于合成层操作,不会触发重排,适合做高性能动画。
 -  设置transform-origin(可选):若想改变旋转或缩放的基准点,可以加上
transform-origin: center center;等值。 - 兼容性良好:现代浏览器均支持多函数transform写法,无需额外前缀。
 
基本上就这些。只要把多个transform函数写在同一行,就能自然组合成复合动画,无需拆分成多个属性处理。


