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

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

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

  • 最详细的18种微信推广方法(最详细的18种微信头像)

    最详细的18种微信推广方法(最详细的18种微信头像)

  • 华为p50pro怎么设置抬起亮屏(华为p50pro怎么设置桌面时间)

    华为p50pro怎么设置抬起亮屏(华为p50pro怎么设置桌面时间)

  • vivo手机屏幕旋转设置在哪里(vivo手机屏幕旋转开关在哪里)

    vivo手机屏幕旋转设置在哪里(vivo手机屏幕旋转开关在哪里)

  • 钉钉看回放能补时长吗(钉钉看回放能补满上课时间吗)

    钉钉看回放能补时长吗(钉钉看回放能补满上课时间吗)

  • 咪咕音乐系统内部异常怎么办(咪咕音乐界面)

    咪咕音乐系统内部异常怎么办(咪咕音乐界面)

  • note10上市时间

    note10上市时间

  • psd啥意思(psd是什么的缩写)

    psd啥意思(psd是什么的缩写)

  • 手机屏幕与边框脱胶有危险吗(手机屏幕与边框有缝隙属于质量问题吗)

    手机屏幕与边框脱胶有危险吗(手机屏幕与边框有缝隙属于质量问题吗)

  • 在淘宝买的东西店铺不存在了怎么办(在淘宝买的东西怎么删除)

    在淘宝买的东西店铺不存在了怎么办(在淘宝买的东西怎么删除)

  • cpu100度会坏吗(cpu温度100多度会不会烧坏了)

    cpu100度会坏吗(cpu温度100多度会不会烧坏了)

  • qq空间划过算浏览吗(qq空间浏览次数机制)

    qq空间划过算浏览吗(qq空间浏览次数机制)

  • 苹果美版无锁是什么意思(苹果美版无锁是怎么来的)

    苹果美版无锁是什么意思(苹果美版无锁是怎么来的)

  • 怎么解决手机发烫(怎么解决手机发热掉帧)

    怎么解决手机发烫(怎么解决手机发热掉帧)

  • 抖音发消息已送达什么意思(抖音发消息已送达与未读)

    抖音发消息已送达什么意思(抖音发消息已送达与未读)

  • windows中文件夹的命名不能带扩展名对吗(windows中文件夹组织结构是一种)

    windows中文件夹的命名不能带扩展名对吗(windows中文件夹组织结构是一种)

  • iphone密码输错10次(iphone密码输错10次还能输入密码)

    iphone密码输错10次(iphone密码输错10次还能输入密码)

  • 百度网盘视频下载放哪里(百度网盘视频下载到手机相册)

    百度网盘视频下载放哪里(百度网盘视频下载到手机相册)

  • 华为p30卡顿是怎么回事(华为p30卡顿怎么解决办法)

    华为p30卡顿是怎么回事(华为p30卡顿怎么解决办法)

  • wd移动硬盘读不出来怎么办(移动硬盘无法读出)

    wd移动硬盘读不出来怎么办(移动硬盘无法读出)

  • html怎么连接数据库(html链接)

    html怎么连接数据库(html链接)

  • ios怎么降级系统(苹果ios如何降级)

    ios怎么降级系统(苹果ios如何降级)

  • 拼多多免拼怎么弄(拼多多免拼怎么取消订单)

    拼多多免拼怎么弄(拼多多免拼怎么取消订单)

  • 拼多多怎么注册多个账号(拼多多怎么注册网店)

    拼多多怎么注册多个账号(拼多多怎么注册网店)

  • 探探怎么看喜欢我的人(探探怎么看喜欢的人的信息)

    探探怎么看喜欢我的人(探探怎么看喜欢的人的信息)

  • 电脑自带浏览器在哪(电脑自带浏览器Microsoft Edge打不开怎么办?)

    电脑自带浏览器在哪(电脑自带浏览器Microsoft Edge打不开怎么办?)

  • 美团众包余额至少为多少元时可以提现(美团众包里面的余额怎么不见了)

    美团众包余额至少为多少元时可以提现(美团众包里面的余额怎么不见了)

  • phpcms怎么更换域名(phpcms怎么用)

    phpcms怎么更换域名(phpcms怎么用)

  • 自行研发的无形资产不确认递延所得税
  • 所得税汇算清缴调整项目
  • 企业付房租怎么做会计分录
  • 没有参加会计继续教育会怎样
  • 免税农产品发票开具时税率怎么选
  • 上年营业收入是什么科目
  • 自然人独资公司和个人独资企业区别
  • 上交的项目评审费如何做财务处理呢?
  • 多扣了离职人员的钱
  • 质保期内质量问题
  • 企业员工福利费管理制度内容
  • 酒店代金券怎么做账
  • 分支机构企业所得税计提和缴纳数额不一致怎么办?
  • 企业收到预收账款,能不能给购买方开具发票
  • 劳保费用可以开专票吗
  • 企业减免税会计分录
  • 航天金税盘费用怎么做账
  • 银行端查询缴税凭证在哪里缴费
  • 简述增值税纳税义务发生时间
  • mac和wondows
  • 会计中如何区分借方和贷方
  • 党团活动经费如何节约
  • 购买固定资产发生的支出是资本性支出
  • win11多开
  • 结转待抵扣
  • PHP:pg_field_num()的用法_PostgreSQL函数
  • 产供销一体化什么意思
  • vue适配pc
  • onekey.exe是什么
  • chat function
  • 哈利法塔里面有什么
  • 财政补贴的内容分类
  • 设备维修产生的人工费怎么开发票
  • PHP面向对象程序设计
  • php 遍历树
  • webform前端
  • 发票开错需要让客户寄回来吗
  • mfcc特征提取过程
  • php图片代码
  • c语言中有哪些循环结构
  • java公平锁有哪些
  • 企业编制现金流量表的主要目的是什么
  • 税控盘锁死日期是什么意思
  • 企业所得税的征税对象和纳税人分别负有的纳税义务
  • 购入固定资产入账会计凭证怎么做
  • 个人所得税年度累计扣税规则
  • 专家评审费如何入账
  • 境外个人给境内个人汇款什么名义申报
  • 销售货物增值税税率变化
  • 网上交税已经缴费怎么退
  • 建筑工程劳务分包,工伤责任承担
  • 企业正常经营的条件
  • 增加的实收资本印花税
  • 软件开发的知识产权有哪些
  • 凭发票报销的通知简单
  • win8还能用吗
  • win 2008
  • u极速u盘装系统
  • 输入法不显示怎么处理
  • ubuntu ftp服务器怎么搭建
  • 介绍两个很常用的成语
  • win+p怎么用
  • 微软正式推出wind...
  • win7开机自动弹出注册表编辑器怎么办
  • win10系统如何设置锁屏壁纸图片
  • perl处理特殊符号
  • cocos2djs教程
  • react用什么ui
  • 深入理解新发展理念,推进供给侧结构性改革 心得体会
  • linux执行多个脚本
  • url跟uri
  • vuerouter嵌套路由
  • Node.js生成HttpStatusCode辅助类发布到npm
  • shell脚本自动化
  • javax.net.ssl.SSLException: hostname in certificate didn't match:
  • JavaScript中的数据类型分为两大类
  • python中如何去除空格
  • 环保税申报流程视频
  • 增值税劳务费发票图片
  • 中国税务客服工作时间
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设