位置: 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 转载请保留说明!

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

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

  • 华为matepadpro怎么开120hz(华为matepadpro怎么读)

    华为matepadpro怎么开120hz(华为matepadpro怎么读)

  • qq怎么一下子发很多条信息(qq怎么一下子发给所有人)

    qq怎么一下子发很多条信息(qq怎么一下子发给所有人)

  • iphonexr是几核处理器(苹果xr是几核的处理器)

    iphonexr是几核处理器(苹果xr是几核的处理器)

  • 快手播放量很高但没人点赞(快手播放量很高但是浏览记录没有)

    快手播放量很高但没人点赞(快手播放量很高但是浏览记录没有)

  • 华为nova6有没有耳机孔(华为nova6有没有红外线)

    华为nova6有没有耳机孔(华为nova6有没有红外线)

  • 监控看不了回放是哪的问题(怎么样可以让监控看不了回放)

    监控看不了回放是哪的问题(怎么样可以让监控看不了回放)

  • ipad有没有儿童模式(iPad有没有儿童锁)

    ipad有没有儿童模式(iPad有没有儿童锁)

  • 华为p30p充电器多少w(华为p30 pro充电头)

    华为p30p充电器多少w(华为p30 pro充电头)

  • 独立显卡插上屏幕不亮(独立显卡插上显示器没反应)

    独立显卡插上屏幕不亮(独立显卡插上显示器没反应)

  • 荣耀9x包装盒有塑料膜吗(华为荣耀9x包装盒没有塑封)

    荣耀9x包装盒有塑料膜吗(华为荣耀9x包装盒没有塑封)

  • ie是什么意思(ice是什么意思)

    ie是什么意思(ice是什么意思)

  • 计算机的存储器是指(计算机的存储器分为什么和什么两级)

    计算机的存储器是指(计算机的存储器分为什么和什么两级)

  • 手机怎么使用电脑键盘(手机怎么使用电脑版浏览器)

    手机怎么使用电脑键盘(手机怎么使用电脑版浏览器)

  • 手机怎么改图片底色(手机怎么改图片的kb大小)

    手机怎么改图片底色(手机怎么改图片的kb大小)

  • a1722是第几代airpods(a1523和1722是一代还是二代)

    a1722是第几代airpods(a1523和1722是一代还是二代)

  • vue怎么调照片呈现速度(vue怎么照片设置)

    vue怎么调照片呈现速度(vue怎么照片设置)

  • 苹果11开机一直hello(苹果11开机一直哈罗)

    苹果11开机一直hello(苹果11开机一直哈罗)

  • iphone11pro用的什么基带(iphone11pro用的什么处理器)

    iphone11pro用的什么基带(iphone11pro用的什么处理器)

  • 怎么开发一款社交APP(怎么开发一个属于自己的软件)

    怎么开发一款社交APP(怎么开发一个属于自己的软件)

  • 苹果手表怎么看电量(苹果手表怎么看是不是正品)

    苹果手表怎么看电量(苹果手表怎么看是不是正品)

  • mate20和mate30的区别(华为mate20和华为mate30哪个好)

    mate20和mate30的区别(华为mate20和华为mate30哪个好)

  • wps段落设置在哪(wps段落设置在哪里找)

    wps段落设置在哪(wps段落设置在哪里找)

  • 苹果录屏怎么只录内音(苹果录屏怎么只录手机里的声音)

    苹果录屏怎么只录内音(苹果录屏怎么只录手机里的声音)

  • 拼多多果园删除的好友怎么加回来(拼多多果园删除好友微信会同步吗)

    拼多多果园删除的好友怎么加回来(拼多多果园删除好友微信会同步吗)

  • iphone改蓝牙耳机名字(苹果手机改蓝牙耳机)

    iphone改蓝牙耳机名字(苹果手机改蓝牙耳机)

  • 【YOLOV5-6.x讲解】YOLO5.0VS6.0版本对比+模型设计(yolov5解析)

    【YOLOV5-6.x讲解】YOLO5.0VS6.0版本对比+模型设计(yolov5解析)

  • gdbserver  调试远程服务器(远程调试时,gdbserver运行在调试机)

    gdbserver 调试远程服务器(远程调试时,gdbserver运行在调试机)

  • 民办非企业所得税优惠政策
  • 行政事业单位住房基金
  • 资产负债表期末数是本年累计数吗
  • 进口货物再出口 增值税处理
  • 员工出差的餐补计入什么科目
  • 资源税的销售额包括
  • 不可修复废品损失会计分录
  • 固定资产减少会怎么样
  • 固定资产未验收投入使用
  • 开专票还需要提供营业执照?
  • 餐饮服务业是否属于企业
  • 统借统还如何缴纳增值税
  • 《减免所得税优惠明细表》
  • 景区中设立的经济组织是
  • 增值税免税收入进项税额转出
  • 个税按计提申报还是按发放申报
  • 税务申报系统叫什么
  • 公司注销银行账户流程
  • 车辆购置税通过应交税费吗
  • 工地开工购买的鞭炮怎么入账
  • cpu不支持vt怎么办
  • win7系统如何查看主板型号
  • touch id反应慢
  • linux环境什么意思
  • win7网络连接在哪里打开
  • php中strstr
  • 修建污水厂需要办理哪些审批
  • PHP:Memcached::getResultCode()的用法_Memcached类
  • php数组函数输出《咏雪》里有多少"片"字
  • 跨境服务免征增值税申报怎么填
  • php timestamp
  • phpstudy备份数据库
  • PHP:imagecolortransparent()的用法_GD库图像处理函数
  • 税率变更为13%的文件
  • json_server
  • Code For Better 谷歌开发者之声——使用谷歌浏览器 Chrome 更好地调试
  • http命令
  • 汇算清缴补税的情况有哪些
  • 打印空白表格怎么制作
  • 500元以下开收据要交税吗
  • 安装和使用蓄能器应注意哪些问题
  • 比赛奖金怎么做账
  • 跨年发票一般分为哪几类
  • 当月利息发票未开可以先入账吗
  • T-SQL语句修改数据表属性
  • sqlalchemy 封装
  • 政府会计资产处置费用科目
  • 以前年度损益调整怎么做账
  • 低预算高要求
  • 未开票收入怎么做账
  • 企业职工福利费可用于职工的医疗卫生费用
  • 实收资本没到账缴纳印花税吗
  • 印花税可以去地方申报吗
  • 个体户一个月能赚多少钱
  • 会计计量属性主要包括()
  • 什么服务费发票可以免税的
  • 减少注册资本要公示多少天
  • 固定资产怎么计算折旧额
  • 企业投资人类型怎么选
  • 利用公式计算填空题
  • mysql启动服务器失败
  • ie标签页
  • win7 windows检测到ip地址冲突怎么解决
  • win8怎么关闭管理员用户
  • 可用分区az
  • 在linux中使用apache发布web服务时默认web站点
  • 学习名言警句 励志
  • JAVA的OPENGL,JOGL入门实例----不断变色的点阵 (源代码)
  • android集成chromiumview
  • 微信小程序中显示app.json在项目根目录未找到怎么回事
  • nodejs mysql orm
  • 陌陌2021年最近事件
  • 编写javascript代码
  • python字符串的编码规则
  • jquery中的attr方法
  • 浙江银行上班时间查询
  • 水利建设基金如何计提
  • 上海税务局实名认证流程
  • 小规模纳税人可以用专票抵扣税吗
  • 购车强制险包括哪些
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设