CSS3实现Loading

<!DOCTYPE html>
<html>
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta http-equiv="X-UA-Compatible" content="ie=edge"><title>Document</title><style>* {margin: 0;padding: 0;}html,body {background: #333333;}.demo {position: absolute;top: 50px;left: 50px;width: 200px;height: 200px;border: 1px solid #ffffff;margin: 150 auto;display: flex;justify-content: center;align-items: center;}.demo .shape {position: relative;width: 10px;height: 10px;display: inline-block;border: 1px solid #ffffff;margin: 0 5px;opacity: 0.5;}.demo .shape1 {background-color: blue;animation: animation1 1s ease infinite 0.0s;}.demo .shape2 {background-color: red;animation: animation1 1s ease infinite 0.25s;}.demo .shape3 {background-color: green;animation: animation1 1s ease infinite 0.5s;}.demo .shape4 {background-color: yellow;animation: animation1 1s ease infinite 0.75s;}/* 设置关键帧动画 0% ~ 100%*/@keyframes animation1 {0% {transform: scale(1);opcaity: 0.5;}50% {transform: scale(1.5);opcaity: 1;}100% {transform: scale(1);opcaity: 0.5;}}.demo2 {position: absolute;top: 50px;left: 300px;width: 200px;height: 200px;border: 1px solid #ffffff;margin: 150 auto;display: flex;justify-content: center;align-items: center;}.demo2 .con {position:absolute;width: 40px;height: 40px;/* border: 1px solid #ffffff; */}.demo2 .ball {position:absolute;top:40%;display: inline-block;width: 10px;height: 10px;background-color: #ffffff;border-radius: 50%;}.demo2 .ball1{left:0px;animation: animation2 1s ease infinite 0s;background-color:blue;}.demo2 .ball2{left:10px;background-color:red;}.demo2 .ball3{left:20px;background-color:green;}.demo2 .ball4{left:30px;animation: animation3 1s ease infinite 0.5s;background-color:yellow;}@keyframes animation2{0%{left:0px;top:40%;}25%{left:-20px;top:00%;}50%{left:0px;top:40%;}75%{left:0px;top:40%;}100%{left:0px;top:40%;}}@keyframes animation3{0%{left:30px;top:40%;}25%{left:50px;top:0%;}50%{left:30px;top:40%;}75%{left:30px;top:40%;}100%{left:30px;top:40%;}}
.demo3{position:absolute;border:1px solid white;width:200px;height:200px;top:50px;left:550px;display:flex;justify-content:center;align-items:center;
}
.demo3 .box{position:absolute;width:30px;height:30px;left:30px;animation:moveBox 6s 0s linear infinite;
}
.demo3 .face{position:absolute;width:30px;height:30px;border-radius:50%;background-color:orange;
}
.demo3 .face-top{/* 上边剪切,左侧保留(宽度-右侧剪切),上面保留(高度-下面剪切),左侧剪切 */clip:rect(0,30px,15px,0);transform:rotateZ(-30deg);/* 关键帧名 动画时长 延时 动画类型 循环方式 过渡处理*/animation:moveFaceTop 0.5s 0s linear infinite alternate;
}
.demo3 .face-bottom{clip:rect(15px,30px,30px,0);transform:rotateZ(30deg);animation:moveFaceBottom 0.5s 0s linear infinite alternate;}
.demo3 .eye{position:absolute;top:5px;left:10px;width:5px;height:5px;border-radius:50%;background-color:black;z-index:99;
}
.demo3 .beans{list-style:none;
}
.demo3 .bean{width:10px;height:10px;background-color:red;border-radius:50%;margin:0 5px;display:inline-block;
}
.demo3 .bean01{animation:moveBean 2s 0s linear infinite alternate;
}
.demo3 .bean02{animation:moveBean 2s 1s linear infinite alternate;
}
.demo3 .bean03{animation:moveBean 2s 2s linear infinite alternate;
}
@keyframes moveBean{0%{opacity:1;}50%{opacity:0;}100%{opacity:1;}
}
@keyframes moveBox{0%{left:30px;transform:rotateY(0deg);}45%{left:150px;transform:rotateY(0deg);}50%{left:150px;transform:rotateY(180deg);}95%{left:30px;transform:rotateY(180deg);}100%{left:30px;transform:rotateY(0deg);}
}
@keyframes moveFaceTop{0%{transform:rotateZ(-30deg);}50%{transform:rotateZ(0deg);}100%{transform:rotateZ(-30deg);}
}
@keyFrames moveFaceBottom{0%{transform:rotateZ(30deg);}50%{transform:rotateZ(0deg);}100%{transform:rotateZ(30deg);}
}</style>
</head><body><div class="demo"><div class="shape shape1"></div><div class="shape shape2"></div><div class="shape shape3"></div><div class="shape shape4"></div></div><div class="demo2"><div class="con"><div class="ball ball1"></div><div class="ball ball2"></div><div class="ball ball3"></div><div class="ball ball4"></div></div></div><div class="demo3"><div class="box"><!-- <img src="./img/cap.jpg" alt=""> --><div class="eye"></div><div class='face face-top'></div><div class='face face-bottom'></div></div><ul class='beans'><li class='bean bean01'></li><li class='bean bean02'></li><li class='bean bean03'></li></ul></div>
</body>
</html>

渡一教育公开课web前端开发JavaScript精英课学习笔记(二十一)CSS3实现Loading相关推荐

  1. 渡一教育公开课web前端开发JavaScript精英课学习笔记(六)函数及作用域

    函数作用域 函数有个隐藏的属性[[scope]],这个属性就是作用域,其存储了运行期上下文的集合. [[scope]]存储运行期上下文集合,这些集合呈链式关系,就是作用域链. [[scope]]属性结 ...

  2. 渡一教育公开课web前端开发JavaScript精英课学习笔记(一)前言

    Mosaic浏览器     NCSA Mosaic,或简称Mosaic(马赛克),是互联网历史上第一个获普遍使用和能够显示图片的网页浏览器,它是由伊利诺伊大学厄巴纳-香槟分校的NCSA组织在1993年 ...

  3. 渡一教育公开课web前端开发JavaScript精英课学习笔记(二十九)JavaScript 骇客帝国

    JavaScript 骇客帝国 <!DOCTYPE html> <html><head><meta charset="UTF-8"> ...

  4. 渡一教育公开课web前端开发JavaScript精英课学习笔记(二)变量类型,运算符

    JavaScript引入方式 内嵌 <script type = "text/javascript">document.write('hello,javascript! ...

  5. 渡一教育公开课web前端开发JavaScript精英课学习笔记(二十六)JavaScript 打砖块

    打砖块 <!DOCTYPE html> <html><head><meta charset="UTF-8"><meta nam ...

  6. 渡一教育公开课web前端开发JavaScript精英课学习笔记(十)数组的常用方法

    数组的常用方法(ES3) 以ES3.0为基础,ES5.0 在ES3基础上扩展,ES6.0 在ES5基础上扩展. 改变原数组的方法: push.pop.shift.unshift.sort.revers ...

  7. 渡一教育公开课web前端开发JavaScript精英课学习笔记(三)条件语句,循环语句

    if 条件判断语句 if(条件){ 如果条件为真时,执行的代码. } else { 如果条件为假时,执行的代码. } <script type = "text/javascript&q ...

  8. 渡一教育公开课web前端开发JavaScript精英课学习笔记(三十二)JavaScript旋转方块

    JavaScript旋转方块 <!DOCTYPE html> <html lang="en"><head><meta charset=&q ...

  9. 渡一教育公开课web前端开发JavaScript精英课学习笔记(七)对象和包装类

    Js对象有三种 内置对象:ECMAScript 规定的对象,如:Math String Number Boolean Function Object... 宿主对象:Js运行环境中的对象,如DOM文档 ...

最新文章

  1. camera摄像原理之三:色温和自动白平衡【转】
  2. 自己实现苹果安装app动画
  3. open api的鉴权以及oauth2.0协议
  4. ajax php接收不到数据库,PHP更新MySQL数据库与AJAX调用没有做任何事情
  5. 入门 | 使用 SQL 构建一个关系数据库比你想的更容易
  6. Android中关于Volley的使用(二)加载Json数据
  7. 机器学习分类问题中_训练数据类别不均衡怎么解决
  8. 矩形窗、汉明窗、汉宁窗的频率响应图
  9. JavaScript开发环境准备
  10. 中国参与互联网下一代根服务器建设
  11. 超图神经网络 Hypergraph Neural Networks
  12. 比较结构的关联词(二)
  13. JS获取当前时间的日周月年的开始结束时间
  14. PL330 DMAC笔记(3) - 外设请求接口,事件和中断,Abort
  15. 灰色预测方法预测温度matlab,灰色预测模型matlab程序
  16. 小程序源码:2022虎年全新头像框制作
  17. HIVE-启动服务-启动DG连接-迁移数据LINUX-HDFS-HIVE
  18. 【阿里云】第一次如何用MobaXterm/xshell等软件登录阿里云服务器
  19. 上海科技大学计算机系学硕论文要求,上海交通大学医学院关于研究生在读期间发表学术论文要求的规定(沪交医研[2018]1号)...
  20. python json文件操作_JSON文件及Python对JSON文件的读写操作

热门文章

  1. java实现fcfs_操作系统模拟FCFS作业调度(Java实现)
  2. 计算机网络与艺术的概述,《计算机网络在艺术设计中的应用》论文
  3. 1612第三周学习笔记
  4. 【SPSS】激素水平项目实战案例
  5. modelsim-win64-10.4-se.exe安装
  6. 学习笔记--人人都是产品经理
  7. kali linux 开机要密码,kali更改开机加密密码
  8. 外客户为什么要验厂?外贸公司怎么应对验厂?
  9. matlab 生物信息学工具箱,Matlab生物信息学工具箱新增功能
  10. 人工智能时代,为什么大量物理学家开始纷纷转型涌入科技界?