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

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

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

  • 外贸服装如何有效进行营销推广(如何做外贸服装生意)

    外贸服装如何有效进行营销推广(如何做外贸服装生意)

  • amd专用内存和普通内存的区别(amd专用内存)(amd专用内存和普通内存的性能)

    amd专用内存和普通内存的区别(amd专用内存)(amd专用内存和普通内存的性能)

  • iqoo8pro怎么开启图标自动补位(iQOO8Pro怎么开启微云台)

    iqoo8pro怎么开启图标自动补位(iQOO8Pro怎么开启微云台)

  • 小米打印机怎么换墨盒(小米打印机怎么打印照片)

    小米打印机怎么换墨盒(小米打印机怎么打印照片)

  • 为什么拼多多设置里面没有拼小圈(为什么拼多多设置里没有拼小圈)

    为什么拼多多设置里面没有拼小圈(为什么拼多多设置里没有拼小圈)

  • qq群主如何禁言群成员(qq群主如何禁言成员)

    qq群主如何禁言群成员(qq群主如何禁言成员)

  • vivos1可以快充吗(vivos1支持多少瓦闪充)

    vivos1可以快充吗(vivos1支持多少瓦闪充)

  • 知乎审核文章要多久(知乎审核文章要钱吗)

    知乎审核文章要多久(知乎审核文章要钱吗)

  • 平板电脑可以QQ分享屏幕吗(平板电脑可以取代笔记本电脑吗)

    平板电脑可以QQ分享屏幕吗(平板电脑可以取代笔记本电脑吗)

  • windows在键盘哪个位置(windows在键盘上是哪个键)

    windows在键盘哪个位置(windows在键盘上是哪个键)

  • 拉黑微信好友对方知道吗(拉黑微信好友对方知道吗怎么样才能看出对方把我拉黑)

    拉黑微信好友对方知道吗(拉黑微信好友对方知道吗怎么样才能看出对方把我拉黑)

  • QQ怎么开启学习模式

    QQ怎么开启学习模式

  • 三星s20发热(三星s20发热严重吗)

    三星s20发热(三星s20发热严重吗)

  • 现在手机换电池对手机有影响吗(现在手机换电池简单吗)

    现在手机换电池对手机有影响吗(现在手机换电池简单吗)

  • 软件从c盘移到d盘为什么就打不开了(软件从c盘移到d盘卸载不了了)

    软件从c盘移到d盘为什么就打不开了(软件从c盘移到d盘卸载不了了)

  • 淘宝申请试用还要退回去吗(淘宝申请试用是什么意思)

    淘宝申请试用还要退回去吗(淘宝申请试用是什么意思)

  • 微信发照片icloud同步中什么意思(微信发照片怎样把几张照片一起发)

    微信发照片icloud同步中什么意思(微信发照片怎样把几张照片一起发)

  • 华为手表lon什么意思(华为手表中lon什么意思)

    华为手表lon什么意思(华为手表中lon什么意思)

  • 华为mrd一al00是什么型号(mrd_al00华为)

    华为mrd一al00是什么型号(mrd_al00华为)

  • 乐视手机备份功能在哪(乐视手机有云备份吗)

    乐视手机备份功能在哪(乐视手机有云备份吗)

  • iphone拍照声音怎么关(苹果拍照声音如何)

    iphone拍照声音怎么关(苹果拍照声音如何)

  • 电脑不用待机怎样恢复(电脑不用怎么待机)

    电脑不用待机怎样恢复(电脑不用怎么待机)

  • 微信的数字证书何用(微信的数字证书没操作自己就启用了?)

    微信的数字证书何用(微信的数字证书没操作自己就启用了?)

  • 数据库安全的第一道保障是(数据库安全的第一保障是什么)

    数据库安全的第一道保障是(数据库安全的第一保障是什么)

  • 华为p30手机虚电怎么解决(华为手机虚电怎么办)

    华为p30手机虚电怎么解决(华为手机虚电怎么办)

  • 最右分享的链接怎么打开(最右的找资源在哪里)

    最右分享的链接怎么打开(最右的找资源在哪里)

  • 智联招聘如何注销(智联招聘如何注销简历)

    智联招聘如何注销(智联招聘如何注销简历)

  • 免征增值税的项目如何开发票
  • 进项税多久有效
  • 车船税的收据什么样
  • 公司收到红字发票怎么开
  • 建筑工人的工资应该怎样支付
  • 发票可以盖财务章吗?
  • 一般纳税人无票收入会计分录
  • 原材料计划成本和实际成本的区别
  • 个人独资企业服务中心是干嘛的
  • 外购货物应抵扣的进项税额税率
  • 无形资产摊销怎么计算
  • 企业代扣职工个人缴纳的五险一金
  • 进项税当月申报怎么申报
  • 购税控盘账务处理
  • 抵扣税控盘维护费会计分录
  • 加权平均净资产收益率反映什么
  • 给客户现金回款怎么写
  • 支付技术转让费能加计扣除
  • 人力资源外包服务规范
  • 个体户税务登记怎么注销
  • 公司年会增值税专用发票可以抵扣吗?
  • a104000期间费用明细表
  • 年终奖的税收筹措是什么
  • 收到保险公司退款
  • 企业所得税预缴税款表怎么填
  • 公转私限额多久自动解冻
  • 出口货物应退税额确认的会计分录
  • 增值税发票和收据的区别
  • 亏损的结转分录
  • 华硕主板如何刷系统
  • 一般纳税人转为小规模纳税人后还可以转为一般纳税人吗
  • 资本公积主要包括哪些内容
  • ghost还原问题1823
  • 公司购买自己公司的产品
  • 其他业务收入对方科目
  • 门面出租赚钱吗
  • 供应商发票多开了怎么处理?
  • 伏尔塔瓦河上的纤夫
  • 担保公司未到期责任准备金会计及税务处理案例
  • php代码检测
  • 税金及附加在哪里申报
  • centos7搭建http
  • 发放股票股利的账务处理
  • 帝国cms简介标签
  • 银行结算方式有哪几种方式?其具体内容是什么?
  • 会计需要装订资料有哪些
  • 通过创建SQLServer 2005到 Oracle10g 的链接服务器实现异构数据库数据转换方案
  • 定期定额征收和核定征收哪个好
  • 陕西省跨区域企业所得税征收
  • 小规模如何缴纳税款
  • 现金支付有借款利息吗
  • 如何处理固定资产报废
  • 税金及附加如何预测
  • 民间非盈利组织会计制度核算的基础
  • 社保逾期滞纳金和利息
  • 加计扣除10%进项税政策文件
  • 经营活动产生的现金流量净额计算公式
  • 出口转内销进项税额怎么进附表二
  • 账务调整会计分录
  • 删除表s
  • win8怎么一键关机
  • win8.1玩英雄联盟
  • linux系统加载网卡驱动
  • linux最常用的shell终端是
  • win8 应用商店
  • 手机背光面板
  • css expression 隔行换色
  • linux查看内存型号与数量
  • javascript中函数
  • 原生js常用的方法
  • python文件与目录操作
  • jquery有哪些
  • unity中sendmessage
  • 国家税务总局税务稽查科
  • 安徽税务网上申报领取发票
  • 怎样查询退休审核表
  • 上海税务机关代码查询
  • 税率的分类有哪些
  • 工商变更与税务变更为什么不能同步
  • 晋阳学堂实验学校学费多少钱
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设