0

0

CSS 实现多字母独立圆形路径动画教程

碧海醫心

碧海醫心

发布时间:2025-12-29 18:33:35

|

840人浏览过

|

来源于php中文网

原创

CSS 实现多字母独立圆形路径动画教程

本文详解如何使用纯 css 为多个文字元素(如 xyz)创建各自独立的圆形运动轨迹——通过组合 `rotate()` 与 `translatex()` 变换,并为每个字母定义专属关键帧动画,实现不同半径、方向与节奏的循环圆周运动。

在 CSS 中模拟真实圆形运动的关键在于理解:单靠 translateX() 或 translateY() 只能实现直线位移;而要让元素绕固定原点(即父容器中心)做圆周运动,必须借助 transform 的复合变换顺序——先旋转父级坐标系,再沿 X 轴平移,最后反向旋转以保持文字朝向不变。其数学本质是:rotate(θ) translateX(r) rotate(-θ),等效于将元素在旋转后的坐标系中沿“当前 X 轴”移动距离 r,从而形成以原点为中心、半径为 r 的圆周轨迹。

以下是一个可直接运行的完整示例,为字母 X、Y、Z 分别配置差异化的圆形动画:

<div class="animation-container">
  <div class="letter X">X</div>
  <div class="letter Y">Y</div>
  <div class="letter Z">Z</div>
</div>
.animation-container {
  display: flex;
  position: relative;
  top: 10rem;
  left: 50%;
  transform: translateX(-50%); /* 更可靠的水平居中方式 */
  align-items: center;
  justify-content: center;
  height: 200px; /* 提供足够空间容纳圆形路径 */
  overflow: visible;
}

.letter {
  font-size: 2rem;
  font-weight: bold;
  position: absolute; /* 各字母脱离文档流,统一围绕 container 中心运动 */
  width: 2em;
  text-align: center;
}

.letter.X { animation: move-letter_x 4s ease-in-out infinite; }
.letter.Y { animation: move-letter_y 4s ease-in-out infinite; }
.letter.Z { animation: move-letter_z 4s ease-in-out infinite; }

/* X:顺时针小半径圆,起始在右侧 */
@keyframes move-letter_x {
  0%, 100% {
    transform: rotate(0deg) translateX(150px) rotate(0deg);
  }
  50% {
    transform: rotate(180deg) translateX(30px) rotate(-180deg);
  }
}

/* Y:逆时针中半径圆,起始在左侧(通过初始 rotate(360deg) 等效于 0,但动画方向由插值决定)*/
@keyframes move-letter_y {
  0%, 100% {
    transform: rotate(0deg) translateX(-120px) rotate(0deg);
  }
  25% {
    transform: rotate(90deg) translateX(-80px) rotate(-90deg);
  }
  50% {
    transform: rotate(180deg) translateX(-120px) rotate(-180deg);
  }
  75% {
    transform: rotate(270deg) translateX(-160px) rotate(-270deg);
  }
}

/* Z:上下浮动式椭圆路径(Y 方向偏移 + X 圆周),增强视觉层次 */
@keyframes move-letter_z {
  0%, 100% {
    transform: rotate(0deg) translateX(0) translateY(0) rotate(0deg);
  }
  25% {
    transform: rotate(90deg) translateX(100px) translateY(-40px) rotate(-90deg);
  }
  50% {
    transform: rotate(180deg) translateX(0) translateY(0) rotate(-180deg);
  }
  75% {
    transform: rotate(270deg) translateX(-100px) translateY(40px) rotate(-270deg);
  }
}

关键要点说明:

闪念贝壳
闪念贝壳

闪念贝壳是一款AI 驱动的智能语音笔记,随时随地用语音记录你的每一个想法。

下载
  • position: absolute + transform: translateX(-50%) 是确保所有字母真正围绕同一中心(.animation-container 几何中心)运动的前提;
  • ✦ 每个 @keyframes 至少需 3 个关键帧(0%、50%、100%) 才能构成闭合路径,避免“跳跃回原位”;
  • ✦ 使用 transform 而非 -webkit-transform(现代浏览器已全面支持标准属性),仅在必要时添加前缀;
  • ✦ 若需控制起始角度或运动方向,调整 rotate() 的起始/终止值(如 rotate(90deg) → rotate(450deg) 表示顺时针转一圈);
  • ✦ 半径差异通过 translateX() 值体现(如 150px vs 80px),方向差异由 rotate() 插值路径决定(CSS 自动选择最短旋转路径,可通过 animation-timing-function 或补全中间帧微调)。

? 进阶提示: 如需更精准控制(如正弦/余弦级圆周),可结合 CSS @property(支持动画自定义属性)或改用 SVG <animateTransform>;但在绝大多数交互动效场景中,上述 rotate + translateX + rotate 组合已足够灵活、性能优异且兼容性良好(支持 Chrome 4+, Firefox 16+, Safari 9+)。

立即学习前端免费学习笔记(深入)”;

热门AI工具

更多
DeepSeek
DeepSeek

幻方量化公司旗下的开源大模型平台

豆包大模型
豆包大模型

字节跳动自主研发的一系列大型语言模型

WorkBuddy
WorkBuddy

腾讯云推出的AI原生桌面智能体工作台

腾讯元宝
腾讯元宝

腾讯混元平台推出的AI助手

文心一言
文心一言

文心一言是百度开发的AI聊天机器人,通过对话可以生成各种形式的内容。

讯飞写作
讯飞写作

基于讯飞星火大模型的AI写作工具,可以快速生成新闻稿件、品宣文案、工作总结、心得体会等各种文文稿

即梦AI
即梦AI

一站式AI创作平台,免费AI图片和视频生成。

ChatGPT
ChatGPT

最最强大的AI聊天机器人程序,ChatGPT不单是聊天机器人,还能进行撰写邮件、视频脚本、文案、翻译、代码等任务。

相关专题

更多
chrome什么意思
chrome什么意思

chrome是浏览器的意思,由Google开发的网络浏览器,它在2008年首次发布,并迅速成为全球最受欢迎的浏览器之一。本专题为大家提供chrome相关的文章、下载、课程内容,供大家免费下载体验。

1068

2023.08.11

chrome无法加载插件怎么办
chrome无法加载插件怎么办

chrome无法加载插件可以通过检查插件是否已正确安装、禁用和启用插件、清除插件缓存、更新浏览器和插件、检查网络连接和尝试在隐身模式下加载插件方法解决。更多关于chrome相关问题,详情请看本专题下面的文章。php中文网欢迎大家前来学习。

846

2023.11.06

function是什么
function是什么

function是函数的意思,是一段具有特定功能的可重复使用的代码块,是程序的基本组成单元之一,可以接受输入参数,执行特定的操作,并返回结果。本专题为大家提供function是什么的相关的文章、下载、课程内容,供大家免费下载体验。

499

2023.08.04

js函数function用法
js函数function用法

js函数function用法有:1、声明函数;2、调用函数;3、函数参数;4、函数返回值;5、匿名函数;6、函数作为参数;7、函数作用域;8、递归函数。本专题提供js函数function用法的相关文章内容,大家可以免费阅读。

166

2023.10.07

CSS position定位有几种方式
CSS position定位有几种方式

有4种,分别是静态定位、相对定位、绝对定位和固定定位。更多关于CSS position定位有几种方式的内容,可以访问下面的文章。

83

2023.11.23

TypeScript类型系统进阶与大型前端项目实践
TypeScript类型系统进阶与大型前端项目实践

本专题围绕 TypeScript 在大型前端项目中的应用展开,深入讲解类型系统设计与工程化开发方法。内容包括泛型与高级类型、类型推断机制、声明文件编写、模块化结构设计以及代码规范管理。通过真实项目案例分析,帮助开发者构建类型安全、结构清晰、易维护的前端工程体系,提高团队协作效率与代码质量。

49

2026.03.13

Python异步编程与Asyncio高并发应用实践
Python异步编程与Asyncio高并发应用实践

本专题围绕 Python 异步编程模型展开,深入讲解 Asyncio 框架的核心原理与应用实践。内容包括事件循环机制、协程任务调度、异步 IO 处理以及并发任务管理策略。通过构建高并发网络请求与异步数据处理案例,帮助开发者掌握 Python 在高并发场景中的高效开发方法,并提升系统资源利用率与整体运行性能。

88

2026.03.12

C# ASP.NET Core微服务架构与API网关实践
C# ASP.NET Core微服务架构与API网关实践

本专题围绕 C# 在现代后端架构中的微服务实践展开,系统讲解基于 ASP.NET Core 构建可扩展服务体系的核心方法。内容涵盖服务拆分策略、RESTful API 设计、服务间通信、API 网关统一入口管理以及服务治理机制。通过真实项目案例,帮助开发者掌握构建高可用微服务系统的关键技术,提高系统的可扩展性与维护效率。

272

2026.03.11

Go高并发任务调度与Goroutine池化实践
Go高并发任务调度与Goroutine池化实践

本专题围绕 Go 语言在高并发任务处理场景中的实践展开,系统讲解 Goroutine 调度模型、Channel 通信机制以及并发控制策略。内容包括任务队列设计、Goroutine 池化管理、资源限制控制以及并发任务的性能优化方法。通过实际案例演示,帮助开发者构建稳定高效的 Go 并发任务处理系统,提高系统在高负载环境下的处理能力与稳定性。

59

2026.03.10

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
Sass 教程
Sass 教程

共14课时 | 0.9万人学习

Bootstrap 5教程
Bootstrap 5教程

共46课时 | 3.6万人学习

CSS教程
CSS教程

共754课时 | 43.1万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号