-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathCrazy Cube.html
More file actions
135 lines (122 loc) · 3.46 KB
/
Crazy Cube.html
File metadata and controls
135 lines (122 loc) · 3.46 KB
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
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
<style>
html {
background-color: black;
}
.loader-container {
display: flex;
justify-content: center;
align-items: center;
height: 900px;
perspective: 800px;
}
.loader-3d {
width: 120px;
height: 120px;
position: relative;
transform-style: preserve-3d;
animation: rotate-3d 6s infinite linear;
transform-origin: center center;
will-change: transform;
}
.loader-inner {
width: 100%;
height: 100%;
position: relative;
transform-style: preserve-3d;
animation: pulse 1.5s infinite ease-in-out alternate;
}
.loader-face {
position: absolute;
width: 100%;
height: 100%;
opacity: 0.9;
border: 1px solid rgba(255, 255, 255, 0.2);
box-shadow: 0 0 8px rgba(100, 200, 255, 0.4);
}
.loader-face-front {
background: linear-gradient(45deg, #ff3366, #ff3366 50%, transparent 50%),
linear-gradient(-45deg, #8844ee, #8844ee 50%, transparent 50%);
background-size: 10px 10px;
transform: translateZ(60px);
}
.loader-face-back {
background: repeating-linear-gradient(
0deg,
#00ffcc,
#00ffcc 3px,
transparent 3px,
transparent 6px
),
repeating-linear-gradient(
90deg,
#00ffcc,
#00ffcc 3px,
transparent 3px,
transparent 6px
);
transform: rotateY(180deg) translateZ(60px);
}
.loader-face-right {
background: radial-gradient(circle, #ffcc00 20%, transparent 20%),
radial-gradient(circle, transparent 20%, #ffcc00 20%, transparent 30%);
background-size: 15px 15px;
background-position: 0 0, 7px 7px;
transform: rotateY(90deg) translateZ(60px);
}
.loader-face-left {
background: linear-gradient(135deg, #ff0066 25%, transparent 25%),
linear-gradient(225deg, #ff0066 25%, transparent 25%),
linear-gradient(315deg, #ff0066 25%, transparent 25%),
linear-gradient(45deg, #ff0066 25%, transparent 25%);
background-size: 10px 10px;
transform: rotateY(-90deg) translateZ(60px);
}
.loader-face-top {
background: conic-gradient(
from 90deg at 50% 50%,
#00ff99,
#9900ff,
#ff0099,
#00ff99
);
transform: rotateX(90deg) translateZ(60px);
}
.loader-face-bottom {
background: repeating-linear-gradient(
45deg,
#ff6000,
#ff6000 5px,
#ffcc00 5px,
#ffcc00 10px
);
transform: rotateX(-90deg) translateZ(60px);
}
@keyframes rotate-3d {
0% {
transform: rotateX(0deg) rotateY(0deg);
}
100% {
transform: rotateX(360deg) rotateY(720deg);
}
}
@keyframes pulse {
0% {
transform: scale3d(0.8, 0.8, 0.8);
}
100% {
transform: scale3d(1.1, 1.1, 1.1);
}
}
</style>
<div class="loader-container">
<div class="loader-3d">
<div class="loader-inner">
<div class="loader-face loader-face-front"></div>
<div class="loader-face loader-face-back"></div>
<div class="loader-face loader-face-right"></div>
<div class="loader-face loader-face-left"></div>
<div class="loader-face loader-face-top"></div>
<div class="loader-face loader-face-bottom"></div>
</div>
</div>
</div>