位置: IT常识 - 正文

css动画效果(css动画效果代码)

编辑:rootadmin
css动画效果 动画1(沿着椭圆转动)

推荐整理分享css动画效果(css动画效果代码),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:css动画效果代码,css动画效果网站,css动画效果旋转,css动画效果 位置移动,css动画效果网站,css动画效果 位置移动,css动画效果代码,css动画效果代码,内容如对您有帮助,希望把文章链接给更多的朋友!

 其实是个2D转动,只不过咱们设置椭圆,然后加上scale缩放(近大远小),看上去就是3D效果

代码:

<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>动画1</title></head><body> <style> * { margin: 0; padding: 0; box-sizing: border-box; } body { width: 100vw; height: 100vh; position: relative; } /* 位置 */ .container { position: absolute; width: 800px; height: 180px; top: 20%; left: 50%; transform: translateX(-60%); /* border: 1px solid red; */ } /* 动画的容器(椭圆) */ .box { width: 100%; height: 100%; position: relative; /* border: 1px solid blue; */ box-sizing: border-box; border-radius: 50%; } /* 椭圆线 */ .border { position: absolute; width: 800px; height: 180px; top: 65px; left: 60px; border: 1px solid #0084ff; box-sizing: border-box; border-radius: 50%; } /* 以下是转动的动画 */ .circle { width: 200px; height: 130px; position: absolute; z-index: 999; } .circle img { width: 100%; height: 100%; } .circle1 { animation: animX 11s cubic-bezier(0.36, 0, 0.64, 1) -5.5s infinite alternate, animY 11s cubic-bezier(0.36, 0, 0.64, 1) 0s infinite alternate, scale 22s cubic-bezier(0.36, 0, 0.64, 1) 0s infinite alternate; } .circle2 { animation: animX 11s cubic-bezier(0.36, 0, 0.64, 1) -7.5s infinite alternate, animY 11s cubic-bezier(0.36, 0, 0.64, 1) -2s infinite alternate, scale 22s cubic-bezier(0.36, 0, 0.64, 1) -2s infinite alternate; } .circle3 { animation: animX 11s cubic-bezier(0.36, 0, 0.64, 1) -9.5s infinite alternate, animY 11s cubic-bezier(0.36, 0, 0.64, 1) -4s infinite alternate, scale 22s cubic-bezier(0.36, 0, 0.64, 1) -4s infinite alternate; } .circle4 { animation: animX 11s cubic-bezier(0.36, 0, 0.64, 1) -11.5s infinite alternate, animY 11s cubic-bezier(0.36, 0, 0.64, 1) -6s infinite alternate, scale 22s cubic-bezier(0.36, 0, 0.64, 1) -6s infinite alternate; } .circle5 { animation: animX 11s cubic-bezier(0.36, 0, 0.64, 1) -13.5s infinite alternate, animY 11s cubic-bezier(0.36, 0, 0.64, 1) -8s infinite alternate, scale 22s cubic-bezier(0.36, 0, 0.64, 1) -8s infinite alternate; } .circle6 { animation: animX 11s cubic-bezier(0.36, 0, 0.64, 1) -15.5s infinite alternate, animY 11s cubic-bezier(0.36, 0, 0.64, 1) -10s infinite alternate, scale 22s cubic-bezier(0.36, 0, 0.64, 1) -10s infinite alternate; } .circle7 { animation: animX 11s cubic-bezier(0.36, 0, 0.64, 1) -17.5s infinite alternate, animY 11s cubic-bezier(0.36, 0, 0.64, 1) -12s infinite alternate, scale 22s cubic-bezier(0.36, 0, 0.64, 1) -12s infinite alternate; } .circle8 { animation: animX 11s cubic-bezier(0.36, 0, 0.64, 1) -19.5s infinite alternate, animY 11s cubic-bezier(0.36, 0, 0.64, 1) -14s infinite alternate, scale 22s cubic-bezier(0.36, 0, 0.64, 1) -14s infinite alternate; } .circle9 { animation: animX 11s cubic-bezier(0.36, 0, 0.64, 1) -21.5s infinite alternate, animY 11s cubic-bezier(0.36, 0, 0.64, 1) -16s infinite alternate, scale 22s cubic-bezier(0.36, 0, 0.64, 1) -16s infinite alternate; } .circle10 { animation: animX 11s cubic-bezier(0.36, 0, 0.64, 1) -23.5s infinite alternate, animY 11s cubic-bezier(0.36, 0, 0.64, 1) -18s infinite alternate, scale 22s cubic-bezier(0.36, 0, 0.64, 1) -18s infinite alternate; } .circle11 { animation: animX 11s cubic-bezier(0.36, 0, 0.64, 1) -25.5s infinite alternate, animY 11s cubic-bezier(0.36, 0, 0.64, 1) -20s infinite alternate, scale 22s cubic-bezier(0.36, 0, 0.64, 1) -20s infinite alternate; } @keyframes animX { 0% { left: -4%; } 100% { left: 96%; } } @keyframes animY { 0% { top: -4%; } 100% { top: 96%; } } @keyframes scale { 0% { transform: scale(0.4); opacity: 0.5; } 50% { transform: scale(1); opacity: 1; } 100% { transform: scale(0.4); opacity: 0.5; } } </style> <div class="container"> <div class="box"> <div class="circle circle1"> <img src="./img/步数.png" alt=""> </div> <div class="circle circle2"> <img src="./img/胆固醇.png" alt=""> </div> <div class="circle circle3"> <img src="./img/肺呼吸.png" alt=""> </div> <div class="circle circle4"> <img src="./img/尿酸.png" alt=""> </div> <div class="circle circle5"> <img src="./img/睡眠.png" alt=""> </div> <div class="circle circle6"> <img src="./img/体脂.png" alt=""> </div> <div class="circle circle7"> <img src="./img/跳绳.png" alt=""> </div> <div class="circle circle8"> <img src="./img/握力.png" alt=""> </div> <div class="circle circle9"> <img src="./img/心率.png" alt=""> </div> <div class="circle circle10"> <img src="./img/血糖.png" alt=""> </div> <div class="circle circle11"> <img src="./img/血氧.png" alt=""> </div> <!-- 椭圆线 --> <div class="border"></div> </div> </div></body></html>

1. scale去设置的总时间(也就是转一圈用的时间), 这里设置 22秒

css动画效果(css动画效果代码)

2. X轴和Y轴用的时间是一样的,都为总时间的一半,也就是11秒

3. 相差的时间是 总时间/图片的个数  这里也就是 22/11 = 2秒

4.  X轴和Y轴的延时时间相差 11/2 = 5.5秒

可以把代码拷贝过去,修改一下试试就可以啦 

动画2 (旋转木马特效)

 代码:

<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>动画2</title></head><body> <style> * { margin: 0; padding: 0; box-sizing: border-box; } body { width: 100vw; height: 100vh; position: relative; } .container { position: absolute; width: 1000px; height: 500px; top: 15%; left: 50%; transform: translateX(-50%); z-index: 999; display: flex; justify-content: center; align-items: center; perspective: 1000px; } .box { width: 150px; height: 150px; position: relative; transform-style: preserve-3d; animation: run 11s linear infinite; } .circle { position: absolute; top: 0; left: 0; width: 150px; height: 150px; } /*设置图像大小、边框、圆角、位置*/ .circle img { width: 150px; height: 200px; border: 1px solid #ccc; border-radius: 5px; box-sizing: border-box; } .circle1 { transform: translateZ(500px); } .circle2 { transform: rotateY(36deg) translateZ(500px); } .circle3 { transform: rotateY(72deg) translateZ(500px); } .circle4 { transform: rotateY(108deg) translateZ(500px); } .circle5 { transform: rotateY(144deg) translateZ(500px); } .circle6 { transform: rotateY(180deg) translateZ(500px) ; } .circle7 { transform: rotateY(216deg) translateZ(500px); } .circle8 { transform: rotateY(252deg) translateZ(500px); } .circle9 { transform: rotateY(288deg) translateZ(500px); } .circle10 { transform: rotateY(324deg) translateZ(500px); } @keyframes run { 0% { transform: rotateY(0); } 100% { transform: rotateY(360deg); } } </style> <div class="container"> <div class="box"> <div class="circle circle1"> <img src="./img/1.jpg" alt=""> </div> <div class="circle circle2"> <img src="./img/2.jpg" alt=""> </div> <div class="circle circle3"> <img src="./img/3.jpg" alt=""> </div> <div class="circle circle4"> <img src="./img/4.jpg" alt=""> </div> <div class="circle circle5"> <img src="./img/5.jpg" alt=""> </div> <div class="circle circle6"> <img src="./img/6.jpg" alt=""> </div> <div class="circle circle7"> <img src="./img/7.jpg" alt=""> </div> <div class="circle circle8"> <img src="./img/8.jpg" alt=""> </div> <div class="circle circle9"> <img src="./img/9.jpg" alt=""> </div> <div class="circle circle10"> <img src="./img/10.jpg" alt=""> </div> </div> </div></body></html>动画3 (沿X、Y、Z轴自转)

<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>动画3</title></head><body> <style> * { padding: 0; margin: 0; box-sizing: border-box; } body { width: 100vw; height: 100vh; display: flex; justify-content: center; align-items: center; } .container img { width: 150px; height: 150px; margin: 0 20px; } .container > img:nth-of-type(1) { animation: rotate1 5s linear infinite; } .container > img:nth-of-type(2) { animation: rotate2 5s linear infinite; } .container > img:nth-of-type(3) { animation: rotate3 5s linear infinite; } /* 绕着Y轴转 */ @keyframes rotate1 { 0% { transform: rotateY(0); } 100% { transform: rotateY(360deg); } } /* 绕着X轴转 */ @keyframes rotate2 { 0% { transform: rotateX(0); } 100% { transform: rotateX(360deg); } } /* 绕着Z轴转 */ @keyframes rotate3 { 0% { transform: rotateZ(0); } 100% { transform: rotateZ(360deg); } } </style> <div class="container"> <img src="./img/1.png" alt=""> <img src="./img/2.jpg" alt=""> <img src="./img/3.jpg" alt=""> </div></body></html> 动画4(点击收缩隐藏)

 

<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Document</title></head><body> <style> * { padding: 0; margin: 0; box-sizing: border-box; } .box { width: 500px; height: 500px; border: 1px solid red; margin: 100px 0 0 100px; position: relative; overflow: hidden; } .move { width: 30%; height: 70%; border: 1px solid blue; border-radius: 10px; position: absolute; right: -150px; top: 15%; } #btn { position: absolute; top: 50%; right: 0; transform: translateY(-50%); } .show { animation: rotate1 0.4s linear; /* 动画执行一次 */ animation-iteration-count: 1; /* 停留在最后一帧 */ animation-fill-mode: both; } .hide { animation: rotate2 0.4s linear; /* 动画执行一次 */ animation-iteration-count: 1; /* 停留在最后一帧 */ animation-fill-mode: both; } /* 向左移动 */ @keyframes rotate1 { 0% { transform: translateX(0); } 100% { transform: translateX(-150px); } } /* 向右移动 */ @keyframes rotate2 { 0% { transform: translateX(-150px); } 100% { transform: translateX(0); } } </style> <div class="box"> <div class="move"></div> <button id="btn"></button> </div> <script> // DOM.classList -> 返回一个元素的类属性的实时 DOMTokenList 集合。 // DOM.classList.add('class1', 'class2', 'class3') // 添加一个或多个类名 // DOM.classList.remove('class1', 'class2', 'class3') // 删除一个或多个类名 // DOM.classList.toggle('class1', 'class2', 'class3') // 切换类名(有则移除,没有则添加(切换效果)) let flag = true // true -> 点击展示, false -> 点击隐藏 const $ = name => document.querySelector(name) $('#btn').innerHTML = '点击展开' $('#btn').onclick = () => { if (flag) { $('.move').classList.remove('hide'); $('.move').classList.add('show'); setTimeout(() => { $('#btn').innerHTML = '点击收起' }, 400) } else { $('.move').classList.remove('show'); $('.move').classList.add('hide'); setTimeout(() => { $('#btn').innerHTML = '点击展开' }, 400) } flag = !flag } </script></body></html>
本文链接地址:https://www.jiuchutong.com/zhishi/299720.html 转载请保留说明!

上一篇:图像分类方法总结(图像的分类方法及具体的分类)

下一篇:计算机视觉——图像视觉显著性检测(计算机视觉的应用)

  • 云视听极光怎么取消连续包月(云视听极光怎么登录会员)

    云视听极光怎么取消连续包月(云视听极光怎么登录会员)

  • 红米手环一共有几种颜色(红米手环有小爱同学吗)

    红米手环一共有几种颜色(红米手环有小爱同学吗)

  • 苹果11屏幕什么材料(苹果11屏幕什么屏)

    苹果11屏幕什么材料(苹果11屏幕什么屏)

  • 引导驱动器和安装驱动器是指(引导驱动器和安装磁盘位置)

    引导驱动器和安装驱动器是指(引导驱动器和安装磁盘位置)

  • 抖音珍惜时间测试怎么弄(抖音里让人珍惜时间的句子)

    抖音珍惜时间测试怎么弄(抖音里让人珍惜时间的句子)

  • 淘气值799是怎么回事(淘气值799怎么办)

    淘气值799是怎么回事(淘气值799怎么办)

  • 演示文稿与幻灯片的关系是(演示文稿与幻灯片,工作簿与工作表,word文档与页面)

    演示文稿与幻灯片的关系是(演示文稿与幻灯片,工作簿与工作表,word文档与页面)

  • cad图纸比例1:100是什么意思(cad图纸比例1:100怎么调成1:500)

    cad图纸比例1:100是什么意思(cad图纸比例1:100怎么调成1:500)

  • 魅族USB连接方式切换不了(魅族usb连接方式切换不了)

    魅族USB连接方式切换不了(魅族usb连接方式切换不了)

  • 数据线短路会烧坏手机吗(数据线短路会烧坏usb口吗)

    数据线短路会烧坏手机吗(数据线短路会烧坏usb口吗)

  • 抖音设置了隐私,是不是只有自己可以看(抖音设置了隐私怎么添加好友)

    抖音设置了隐私,是不是只有自己可以看(抖音设置了隐私怎么添加好友)

  • qq群视频最多几个人开摄像头(qq群视频最多几个人)

    qq群视频最多几个人开摄像头(qq群视频最多几个人)

  • opporeno2什么时候上市(opporeno2什么时候停产的)

    opporeno2什么时候上市(opporeno2什么时候停产的)

  • oppoa11手机充电指示灯不亮(oppoA11手机充电多久充满)

    oppoa11手机充电指示灯不亮(oppoA11手机充电多久充满)

  • 如何关闭微信首页搜索功能(如何关闭微信首付款手势密码)

    如何关闭微信首页搜索功能(如何关闭微信首付款手势密码)

  • word复制快捷键(word复制快捷键是什么)

    word复制快捷键(word复制快捷键是什么)

  • 手机屏幕黑点会扩散吗(手机屏幕黑点会不会扩大)

    手机屏幕黑点会扩散吗(手机屏幕黑点会不会扩大)

  • 微型运算器主要功能是进行(微型计算机运算器)

    微型运算器主要功能是进行(微型计算机运算器)

  • ipados和ios有什么区别(ipad os和ios)

    ipados和ios有什么区别(ipad os和ios)

  • python语言源文件的扩展名是什么(python源文件怎么运行)

    python语言源文件的扩展名是什么(python源文件怎么运行)

  • 什么是整站优化(什么叫整站优化)

    什么是整站优化(什么叫整站优化)

  • windows7系统的常用附件(windows7基本操作有哪些)

    windows7系统的常用附件(windows7基本操作有哪些)

  • 荣耀v20能不能防水(荣耀v20防窥屏怎么设置)

    荣耀v20能不能防水(荣耀v20防窥屏怎么设置)

  • 快手谁戳了你什么意思(快手戳一下知道是谁戳的吗)

    快手谁戳了你什么意思(快手戳一下知道是谁戳的吗)

  • 如何通过10086转赠流量(10086怎么转流量给别人)

    如何通过10086转赠流量(10086怎么转流量给别人)

  • 微信人工电话怎么接通(微信人工电话怎么打不进)

    微信人工电话怎么接通(微信人工电话怎么打不进)

  • 讲讲vue3下会造成响应式丢失的情况

    讲讲vue3下会造成响应式丢失的情况

  • 计算机视觉基础学习-图像拼接(计算机视觉基础知识)

    计算机视觉基础学习-图像拼接(计算机视觉基础知识)

  • phpcms后台显示验证码错误怎么办(phpcms使用教程)

    phpcms后台显示验证码错误怎么办(phpcms使用教程)

  • 所得税调增调减项目有哪些
  • 企业为何放弃免税政策
  • 销项税能抵扣么
  • 小规模未达起征点免税分录
  • 月末一般无余额的有
  • 公司法人必须办社保吗?
  • 金蝶k3怎么样新增账套
  • 附加税费申报没有怎么填
  • 预缴增值税销售额
  • 过期未认证的进项税如何记账
  • 赠品视同销售会计分录要如何编制?
  • 承包租赁成本明细表的预算项目
  • 跨地区预缴税款需缴纳哪些
  • 工资未发放是否可以仲裁
  • 印花税按什么税率
  • 价税合计啥意思
  • 物管费开票可以开公司名称吗
  • 个体工商户投资者减除费用
  • 如何在国税网站下载财务报表
  • 事业单位去年的岗位今年还会招吗
  • 会计调账有哪些方式
  • 股份有限公司发行的股票溢价
  • 七彩虹主板 wol
  • 当月的费用次月入账可以么
  • php和数据库
  • php string
  • php rewrite
  • php r
  • 持有至到期投资在资产负债表怎么填
  • 质量赔偿款要交税吗
  • 收到汽车维修费的会计分录
  • 关于固定资产抵扣的税务规定
  • php静态方法调用
  • vue created mounted
  • vscode常用插件功能简介
  • 实收资本挂在其他应收款怎么冲销
  • 遮天传贴吧
  • Yii基于CActiveForm的Ajax数据验证用法示例
  • 保险公司应收保费汇报范文
  • element excel
  • 公司没有车,加柴油票可以抵扣增值税吗
  • 出口抵减内销产品应纳税额怎么结转
  • 待抵扣进项税额和进项税额的区别
  • 捐款 企业
  • 现金零星支出大还是小
  • 供应商的质量扣款应该开什么发票
  • 软件服务费可以全额抵扣吗?
  • 支付国外佣金的税率多少
  • 个体工商户具体工作内容怎么写
  • SQL2008中通过DBCC OPENTRAN和会话查询事务
  • 水电费计提是什么意思
  • 以前年度多计收入今年怎么调整
  • 计提费用账务处理
  • 建筑业异地预缴税款怎么纳税申报
  • 固定资产报废如何进行账务处理
  • 印花税为什么不用计提
  • 总资产报酬率的公式
  • 一个简单的微笑说说
  • win8打开屏幕键盘
  • ipad和iPhone的mac地址区别
  • linux jdk版本升级
  • 免打扰模式在哪关
  • linux安装glibc.i686
  • 浅谈jquery的应用
  • 冰球撞人犯规吗
  • Build Qt5.3.1 for Freescale I.MX6Q based Linux 3.0.15
  • 枚举的内容怎么输出
  • ADB (Android Debug Bridge)常用命令
  • Android Studio 1.1.0 配置androidannotations框架
  • js输出100以内能被5整除的数
  • javascript教程
  • unity减少drawcall
  • python listnode
  • python搭建网页
  • javascript的函数调用
  • 土地使用税申报流程图
  • 比亚迪车载物联网卡
  • 安置残疾人即征即退
  • 我国现行税法体系中采用多次课征的税种是
  • 薰衣草商业价值
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设