CSS3小特效之加载动画效果

凡看书不为书所愚始善

加载动画效果

很多情况下,我们需要一个加载动画作为调用数据时的小特效,用来美化我们的页面!今天,就学习练习写一个这样的好看的加载动画!

HTML代码如下

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>加载动画效果</title>
<link rel="stylesheet" href="index.css">
</head>
<body>
<div class="box">
<div class="loading">
<span>Loading...</span>
</div>
</div>
</body>
</html>

CSS代码如下

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
*{
margin: 0;
padding: 0;
}
.box{
/*设置窗体颜色*/
background-color: #2980b9;
/*设置body的高为全窗口*/
height: 100vh;
/*弹性布局让元素居中显示*/
display: flex;
align-items: center;
justify-content: center;
}
.loading{
width: 200px;
height: 200px;
box-sizing: border-box;
/*将正方形div变为一个圆环,宽为10px,只显示顶部*/
border-radius: 50%;
border-top: 10px solid #f1c40f;
position: relative;
/*给圆环添加一个旋转动画*/
animation: rotate1 2s linear infinite;
}
/*利用::before和::after添加灵位两个边框,形成一整个封闭的圆环*/
.loading::before,.loading::after{
content: '';
width: 200px;
height: 200px;
position: absolute;
left: 0;
top: -10px;
box-sizing: border-box;
border-radius: 50%;
}
.loading::before{
border-top: 10px solid #9b59b6;
transform: rotate(120deg);
}
.loading::after{
border-top: 10px solid #2ecc71;
transform: rotate(240deg);
}
.loading span{
position: absolute;
width: 200px;
height: 200px;
color: #fff;
font-size: 24px;
text-align: center;
line-height: 200px;
animation: rotate2 2s linear infinite;
}
@keyframes rotate1 {
to{
transform: rotate(360deg);
}
}
/*给span添加一个反向旋转的动画,正好让内容'Loading...'看起来不旋转,但是能跳动*/
@keyframes rotate2 {
to{
transform: rotate(-360deg);
}
}

效果如下

images

本文标题:CSS3小特效之加载动画效果

文章作者:Dylan

发布时间:2019年05月19日 - 22:05

最后更新:2019年08月13日 - 21:08

原始链接:https://blog.puchao.cc/2019/05/19/CSS3小特效之加载动画效果/

许可协议:署名-非商业性使用-禁止演绎 4.0 国际 转载请保留原文链接及作者。

-------------本文结束感谢您的阅读-------------
0%
undefined