纯CSS打造繁忙光标可用于繁忙等候的状况

日期:2021-03-06 类型:科技新闻 

关键词:建站平台有哪些,如何建设网站,免费自助建站,如何建立一个网站,网站建站的

大家常常会用到繁忙等候的状况,例如ajax等候回调函数,或载入网页页面的情况下,大家一般的做法便是放1张loading.gif照片,在那里转呀转。

之前是在pc上用,也沒有感觉不当之处,现如今要在挪动端用,难题就来了,之前呢,做前端开发,适配各种各样访问器,就够令人头疼了,如今还要适配各种各样显示屏尺寸。

刚开始呢,是做了N张不一样尺寸的gif图。用javascript去分辨屏的尺寸,随后挑选适度的gif照片,这样做的缺陷是很显的,说多了全是泪。如今我要做的,便是换为css3去完成这个实际效果。下面看实际效果图:
 
有兴趣爱好的,能够拷贝下面的源代码:

拷贝编码
编码以下:

<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF⑻">
<meta charset="utf⑻">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<meta name="viewport" content="width=device-width, initial-scale=1, user-scalable=0, maximum-scale=3">
<meta name="apple-mobile-web-app-capable" content="yes">
<meta name="apple-mobile-web-app-status-bar-style" content="black">
<style type="text/css">
body {
margin: 0;
padding: 0;
}
/* for busy */
#busyIcon {
z-index:99999;
position:absolute;
top:0;left:0;
width:100%;
height:100%;
background-color: rgba(0,0,0,0.7);
}
.container {
width:100px;
height: 100px;
background-color:black;
opacity: 0.8;
margin-top: ⑸0px;
margin-left: ⑸0px;
position: absolute;
top:50%;left:50%;
-webkit-border-radius: 10%;
}
.top,.base {
height: 30%;
}
.spinner {
height: 40%;
width: 40%;
position: relative;
margin: 0 auto;
}
.spinner div {
width: 12%;
height: 26%;
background-color: white;
position: absolute;
left: 44.5%;
top: 37%;
opacity: 0;
-webkit-border-radius: 30%;
-webkit-animation: fade 1s linear infinite;
}
.spinner div.bar1 {-webkit-transform:rotate(0deg) translate(0, ⑴42%); -webkit-animation-delay: 0s;}
.spinner div.bar2 {-webkit-transform:rotate(30deg) translate(0, ⑴42%); -webkit-animation-delay: -0.9167s;}
.spinner div.bar3 {-webkit-transform:rotate(60deg) translate(0, ⑴42%); -webkit-animation-delay: -0.833s;}
.spinner div.bar4 {-webkit-transform:rotate(90deg) translate(0, ⑴42%); -webkit-animation-delay: -0.75s;}
.spinner div.bar5 {-webkit-transform:rotate(120deg) translate(0, ⑴42%); -webkit-animation-delay: -0.667s;}
.spinner div.bar6 {-webkit-transform:rotate(150deg) translate(0, ⑴42%); -webkit-animation-delay: -0.5833s;}
.spinner div.bar7 {-webkit-transform:rotate(180deg) translate(0, ⑴42%); -webkit-animation-delay: -0.5s;}
.spinner div.bar8 {-webkit-transform:rotate(210deg) translate(0, ⑴42%); -webkit-animation-delay: -0.41667s;}
.spinner div.bar9 {-webkit-transform:rotate(240deg) translate(0, ⑴42%); -webkit-animation-delay: -0.333s;}
.spinner div.bar10 {-webkit-transform:rotate(270deg) translate(0, ⑴42%); -webkit-animation-delay: -0.25s;}
.spinner div.bar11 {-webkit-transform:rotate(300deg) translate(0, ⑴42%); -webkit-animation-delay: -0.1667s;}
.spinner div.bar12 {-webkit-transform:rotate(330deg) translate(0, ⑴42%); -webkit-animation-delay: -0.0833s;}
@-webkit-keyframes fade {
from {opacity: 1;}
to {opacity: 0.25;}
}
/*End busy*/
</style>
</head>
<body>
<div id="busyIcon">
<div class="container">
<div class="top"></div>
<div class="spinner">
<div class="bar1"></div>
<div class="bar2"></div>
<div class="bar3"></div>
<div class="bar4"></div>
<div class="bar5"></div>
<div class="bar6"></div>
<div class="bar7"></div>
<div class="bar8"></div>
<div class="bar9"></div>
<div class="bar10"></div>
<div class="bar11"></div>
<div class="bar12"></div>
</div>
<div class="base"></div>
</div>
</div>
</body>
</html>

这里是以便便捷演试,对访问器的适配省略了,具体新项目中,我用js开展了封裝,便捷启用和操纵。

本例只纪录1下基本原理,封裝后的编码就不贴了。下面发1张运用中的实际效果裁图。
 
css3能做的也有许多,之后渐渐地共享。
上一篇:css3的transform中scale放缩详解 返回下一篇:没有了