-
Notifications
You must be signed in to change notification settings - Fork 0
/
global.scss
47 lines (41 loc) · 1.38 KB
/
global.scss
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
/*
* Loading Spinner
*/
.spinner {
--spinner-size: 50px;
position: fixed;
width: var(--spinner-size);
height: var(--spinner-size);
opacity: 1;
transform: scale(1);
perspective: 1000px;
transition: opacity .5s var(--ease-in-out-cubic), transform .75s var(--ease-in-out-cubic);
}
.spinner--viewport {
--spinner-size: 200px;
left: calc(50vw - var(--spinner-size) / 2);
margin: calc(50vh - var(--spinner-size) / 2) 0;
z-index: 1000;
}
.spinner__line {
position: absolute;
width: 100%;
height: 100%;
border-radius: 50%;
&:nth-child(1) {
animation: spinner-line 10s cubic-bezier(0.445, 0.05, 0.55, 0.95) infinite;
border-bottom: calc(var(--spinner-size) / 12) solid #AAAA;
}
&:nth-child(2) {
animation: spinner-line 10s -5s cubic-bezier(0.445, 0.05, 0.55, 0.95) reverse infinite;
border-top: calc(var(--spinner-size) / 12) solid #AAAA;
}
}
@keyframes spinner-line {
16.7% { transform: rotateX(30deg) rotateY(-60deg) rotateZ(0deg); }
33.3% { transform: rotateX(-15deg) rotateY(15deg) rotateZ(360deg); }
50% { transform: rotateX(30deg) rotateY(-15deg) rotateZ(0deg); }
66.7% { transform: rotateX(-15deg) rotateY(30deg) rotateZ(360deg); }
83.3% { transform: rotateX(30deg) rotateY(15deg) rotateZ(0deg); }
0%, 100% { transform: rotateX(-15deg) rotateY(60deg) rotateZ(360deg); }
}