-
Notifications
You must be signed in to change notification settings - Fork 33
/
index.html
93 lines (83 loc) · 1.96 KB
/
index.html
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
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<link rel="icon" href="/favicon.ico" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>vue-hbs-admin</title>
<style>
.h-loading {
position: fixed;
top: 0;
right: 0;
bottom: 0;
left: 0;
display: flex;
background: #000;
}
.h-loading div {
position: relative;
width: 80px;
height: 120px;
background:
radial-gradient(circle at 60px 40px, #000, #000 7px, transparent 7px),
radial-gradient(circle at 40px 40px, #000, #000 7px, transparent 7px),
radial-gradient(circle at 50px 50px, #fff, #fff);
background-size: 100% 100%;
background-repeat: no-repeat;
margin: auto;
border-radius: 40px 40px 60px 20px;
transform: skewX(-10deg);
animation: moveMain 2s infinite ease-out;
}
.h-loading div::before,
.h-loading div::after {
content: "";
position: absolute;
background: #fff;
border-radius: 50%;
}
.h-loading div::before {
width: 20px;
height: 20px;
top: 50px;
left: -10px;
box-shadow: 0 0 0 1px #fff;
animation: move 2s infinite ease-in;
}
.h-loading div::after {
width: 30px;
height: 25px;
top: 95px;
left: -10px;
box-shadow: 0 0 0 1px #fff;
animation: move2 2s infinite ease-in;
}
@keyframes move {
80%,
100% {
box-shadow: -60px 0 0 .5px rgba(255, 255, 255, .5);
}
}
@keyframes move2 {
80%,
100% {
box-shadow: -100px 0 0 .5px rgba(255, 255, 255, .2);
}
}
@keyframes moveMain {
42% {
transform: skewX(-10deg) translate(40px, 0);
}
}
</style>
</head>
<body>
<div id="app" class="min-w-960px">
<div class="h-loading">
<div></div>
</div>
</div>
<script type="module" src="/src/main.ts"></script>
</body>
</html>