当前位置: 首页 > news >正文

css实现圆周运动效果

在CSS中可以通过 @keyframes 动画transform 属性实现元素的圆周运动。以下是一个示例代码:

示例代码

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>CSS圆周运动</title>
<style>body {display: flex;justify-content: center;align-items: center;height: 100vh;margin: 0;background: #f4f4f4;}.orbit {position: relative;width: 200px;height: 200px;border: 1px dashed #aaa; /* 可选,显示圆的轨迹 */border-radius: 50%; /* 圆形轨道 */}.object {position: absolute;width: 20px;height: 20px;background: red;border-radius: 50%;top: 50%;left: 50%;transform: translate(-50%, -50%);animation: circular-motion 4s linear infinite;}@keyframes circular-motion {0% {transform: translate(-50%, -50%) rotate(0deg) translateX(100px);}100% {transform: translate(-50%, -50%) rotate(360deg) translateX(100px);}}
</style>
</head>
<body><div class="orbit"><div class="object"></div></div>
</body>
</html>

在这里插入图片描述

代码解析

  1. 轨道 (.orbit):

    • 设置了一个圆形轨道,大小为 200px,使用 border-radius: 50% 使其变成一个圆形。
  2. 运动物体 (.object):

    • 起始位置在轨道顶部,通过 position: absolute 定位。
    • 使用 transform: translate(-50%, -50%) 确保其中心点对齐。
  3. 动画 (@keyframes circular-motion):

    • 利用 rotate 实现旋转运动,中心点是容器的中心。
    • translateX(100px) 确保元素始终距离圆心一定距离。
  4. 无缝循环:

    • 设置动画为 linear infinite,让物体匀速持续旋转。

你可以调整以下参数来修改效果:

  • 调整轨道大小:修改 .orbitwidthheight
  • 调整运动速度:更改 animation 的持续时间,如 4s
  • 改变运动距离:更改 translateX 的值。
http://www.lryc.cn/news/498292.html

相关文章:

  • 【NoSQL数据库】MongoDB数据库——集合和文档的基本操作(创建、删除、更新、查询)
  • Dart 学习笔记(一)
  • 安防视频监控平台Liveweb视频汇聚管理系统管理方案
  • 十八(GIT)、GIT基本命令、axios别名方法、黑马就业数据平台(axios基地址、轻提示函数、注册及登录功能)
  • Linux查看系统基本信息
  • Word处理表格的一些宏
  • 将本地项目文件推送到Git仓库中
  • 2024-12-05OpenCV高级-滤波与增强
  • vue3中 axios 发送请求 刷新token 封装axios
  • aardio - 汉字笔顺处理 - json转sqlite转png
  • 数据结构学习笔记 双向链表
  • 深度学习作业十 BPTT
  • html+css+JavaScript实现轮播图
  • Python+onlyoffice 实现在线word编辑
  • PostgreSQLt二进制安装-contos7
  • Neo4j启动时指定JDK版本
  • kanzi3.6.10 窗口插件-美化绑定内容
  • 利用tablesaw库简化表格数据分析
  • 记录一下,解决js内存溢出npm ERR! code ELIFECYCLEnpm ERR! errno 134 以及 errno 9009
  • 【JavaWeb后端学习笔记】MySQL的数据查询语言(Data Query Language,DQL)
  • 360 最新Android面试题及参考答案
  • 《操作系统 - 清华大学》6 -3:局部页面置换算法:最近最久未使用算法 (LRU, Least Recently Used)
  • ES6新增了哪些特性(待更新)
  • 剖析一下自己的简历第二条
  • 威联通-001 手机相册备份
  • 性能测试基础知识jmeter使用
  • Ceph文件存储
  • Hive分区表新增字段并指定位置
  • 关系型数据库(RDBMS)与非关系型数据库(NoSQL)应用场景
  • 浅谈CI持续集成