要实现元素旋转动画需使用CSS的@keyframes和animation属性。1. 定义@keyframes rotate360设置从0deg到360deg的旋转过程;2. 在目标元素上应用animation: rotate360 2s linear infinite实现匀速循环旋转;3. 可通过transform-origin调整旋转中心点如center top;4. 支持反向旋转、单次执行或hover触发等变体,关键在于正确使用transform: rotate()配合deg单位与动画参数。

要实现元素的旋转动画,可以通过 CSS 的 @keyframes 和 animation 属性来完成。核心是使用 transform: rotate() 配合关键帧定义动画过程。
1. 定义旋转的关键帧 (@keyframes)
使用 @keyframes 创建一个动画序列,指定元素从起始角度旋转到目标角度。
例如,实现 360 度顺时针旋转:
@keyframes rotate360 { from { transform: rotate(0deg); } to { transform: rotate(360deg); }}
2. 将动画应用到元素上
在需要旋转的元素上设置 animation 属性,调用已定义的关键帧。
.rotate-element { width: 100px; height: 100px; background-color: #3498db; animation: rotate360 2s linear infinite;}
说明:rotate360:对应 @keyframes 的名称2s:动画持续时间为 2 秒linear:动画速度曲线为匀速infinite:循环播放动画
3. 可选:控制旋转中心点
默认旋转中心是元素中心(50% 50%),可通过 transform-origin 修改。
立即学习“前端免费学习笔记(深入)”;
Word-As-Image for Semantic Typography
文字变形艺术字、文字变形象形字
62 查看详情
.rotate-element { transform-origin: center top; /* 从顶部中心旋转 */}
常用值:center:居中(默认)left top:左上角right bottom:右下角50% 75%:自定义百分比位置
4. 常见变体示例
反向旋转(逆时针):
@keyframes rotateBackward { to { transform: rotate(-360deg); }}
只旋转一次(非循环):
animation: rotate360 1s ease-out 1;
配合 hover 触发旋转:
.rotate-on-hover:hover { animation: rotate360 0.5s ease-in forwards;}
基本上就这些。通过组合 keyframes、transform 和 animation 属性,可以灵活控制旋转方向、速度、次数和触发方式。不复杂但容易忽略细节,比如单位写成 deg 而不是度,或忘记加 transform 才能触发旋转。
以上就是如何用css animation实现元素旋转动画的详细内容,更多请关注创想鸟其它相关文章!
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/1025513.html
微信扫一扫
支付宝扫一扫