首页 技术 正文
技术 2022年11月7日
0 收藏 642 点赞 1,122 浏览 2700 个字

css3 之炫酷的loading效果

  • 今天实现了一个炫酷的loading效果,基本全用css来实现,主要练习一下css3的熟练运用
  • js需要引入jquery 只用到了一点点js
  • 先看效果图

html:

<div class="box">
<div class="master">
<div class="eyes">
<div class="eyes-ball"></div>
</div>
<div class="mouth"></div>
</div>
<div class="master blue">
<div class="eyes">
<div class="eyes-ball"></div>
</div>
<div class="mouth"></div>
</div>
</div>
<div class="model">
<div class="master">
<div class="eyes">
<div class="eyes-ball"></div>
</div>
<div class="mouth"></div>
</div>
<div class="loading">
<div class="loading-bar"></div>
</div>
<div class="jz-loading">加载中 . . .</div>
</div>

css:

html,
body {
margin: 0;
padding: 0;
width: 100%;
height: 100%;
background-color: hsla(0, 100%, 80%, 0.5);
display: flex;
justify-content: center;
align-items:center;
}
.box{
display: flex;
}
.master{
width:110px;
height:100px;
border-radius: 20px;
background: red;
margin:10px;
display: flex;
justify-content: center;
align-items:center;
flex-direction: column;
box-shadow: 0 10px 20px rgba(0,0,0,.5);
position: relative;
animation: jumping 0.8s infinite;
transition: all 0.5s;
}
.master .eyes{
width:35%;
height:35%;
border-radius:50%;
background-color:#fff;
display: flex;
justify-content: center;
align-items:center;
}
.eyes-ball{
width:30%;
height:30%;
border-radius: 50%;
background-color: #000;
animation: eyesmove 1.6s linear infinite alternate;
}
.master .mouth{
width:40%;
height:10px;
border-radius:12px;
background-color:blue;
margin-top: 20px;
}
.master.blue{
background-color: blue;
animation-delay: 0.4s;
}
.master.blue .mouth{
background: red;
}
.master::before,
.master::after{
content:'';
display: block;
width: 12px;
height: 20px;
border-radius: 12px 12px 0 0;
background: #fff;
position: absolute;
top: -15px;
transform: translateX(-6px) rotate(45deg);
transform-origin: 100% 100%;
}
.master::after{
transform:translateX(6px) rotate(-45deg);
transform-origin: 0 100%;
}/*****遮罩层*****/
.model{
position: fixed;
width: 100%;
height: 100%;
background: palevioletred;
display: flex;
justify-content: center;
align-items: center;
flex-direction: column;
}
.loading{
width: 200px;
height: 10px;
border-radius:12px;
background-color: #fff;
margin-top: 50px;
overflow: hidden;
}
.loading .loading-bar{
width: 0%;
height: 10px;
background: red;
}
.jz-loading{
color: blue;
font-weight: bold;
position: absolute;
top: 50%;
transform: translateY(100px);
}
.move{
transform: scale(0.1) rotate(360deg);
}
/*****动画*****/
@keyframes jumping{
0%{
top:0;
box-shadow: 0 10px 20px rgba(0, 0, 0, .5);
}
50%{
top:-50px;
box-shadow: 0 100px 20px rgba(0, 0, 0, .3);
}
100%{
top:0;
box-shadow: 0 10px 20px rgba(0, 0, 0, .5);
}
}
@keyframes eyesmove{
0%{
transform: translateX(-100%);
}
10%{
transform: translateX(-100%);
}
90%{
transform: translateX(100%);
}
100%{
transform: translateX(100%);
}
}

js:

var timer =null;
var add =0;
timer=setInterval(()=>{
add++;
$('.loading-bar').css('width',`${add}%`);
if(add>=100){
$('.model .master').addClass('move');
$('.model').fadeOut();
clearInterval(timer);
timer =null;
}
},30)

参考自:腾讯课堂渡一教育

相关推荐
python开发_常用的python模块及安装方法
adodb:我们领导推荐的数据库连接组件bsddb3:BerkeleyDB的连接组件Cheetah-1.0:我比较喜欢这个版本的cheeta…
日期:2022-11-24 点赞:878 阅读:9,085
Educational Codeforces Round 11 C. Hard Process 二分
C. Hard Process题目连接:http://www.codeforces.com/contest/660/problem/CDes…
日期:2022-11-24 点赞:807 阅读:5,560
下载Ubuntn 17.04 内核源代码
zengkefu@server1:/usr/src$ uname -aLinux server1 4.10.0-19-generic #21…
日期:2022-11-24 点赞:569 阅读:6,409
可用Active Desktop Calendar V7.86 注册码序列号
可用Active Desktop Calendar V7.86 注册码序列号Name: www.greendown.cn Code: &nb…
日期:2022-11-24 点赞:733 阅读:6,182
Android调用系统相机、自定义相机、处理大图片
Android调用系统相机和自定义相机实例本博文主要是介绍了android上使用相机进行拍照并显示的两种方式,并且由于涉及到要把拍到的照片显…
日期:2022-11-24 点赞:512 阅读:7,819
Struts的使用
一、Struts2的获取  Struts的官方网站为:http://struts.apache.org/  下载完Struts2的jar包,…
日期:2022-11-24 点赞:671 阅读:4,902