xxxxxxxxxx
1
<div class="wrapper">
2
<div class="cube">
3
<div class="side s-1"></div>
4
<div class="side s-2"></div>
5
<div class="side s-3"></div>
6
<div class="side s-4"></div>
7
<div class="side s-5"></div>
8
<div class="side s-6"></div>
9
</div>
10
<div class="shadow"></div>
11
</div>
xxxxxxxxxx
1
:root {
2
--size: 200px;
3
--half: 100px;
4
--half-n: -100px;
5
--shadow: 25px;
6
--shadow-color: #1f1f1f;
7
--s1-bg: url(https://mdbootstrap.com/img/snippets/mdb.jpg);
8
--s2-bg: url(https://mdbootstrap.com/img/snippets/mockup.jpg);
9
--s3-bg: url(https://mdbootstrap.com/img/snippets/jquery.jpg);
10
--s4-bg: url(https://mdbootstrap.com/img/snippets/angular.jpg);
11
--s5-bg: url(https://mdbootstrap.com/img/snippets/react.jpg);
12
--s6-bg: url(https://mdbootstrap.com/img/snippets/vue.jpg);
13
}
14
15
html, body, .wrapper {
16
width: 100%;
17
height: 100%;
18
padding: 0;
19
margin: 0;
20
}
21
22
body {
23
background-color: #4f4f4f;
24
}
25
26
.wrapper {
27
display: flex;
28
justify-content: center;
29
align-items: center;
30
flex-direction: column;
31
}
32
33
.cube {
34
width: var(--size);
35
height: var(--size);
36
position: relative;
37
transform-style: preserve-3d;
38
transform: rotateX(0deg) rotateY(-25deg);
39
animation: cube 15s linear infinite;
40
z-index: 1;
41
}
42
43
@keyframes cube {
44
0% { transform: rotateX(0deg) rotateY(-45deg) }
45
99.99999% { transform: rotateX(360deg) rotateY(315deg) }
46
100% { transform: rotateX(0deg) rotateY(-45deg) }
47
}
48
49
.shadow {
50
background: var(--shadow-color);
51
width: var(--size);
52
height: var(--size);
53
filter: blur(var(--shadow));
54
transform: rotateX(45deg) rotateZ(25deg);
55
animation: shadow 15s linear infinite;
56
}
57
58
@keyframes shadow {
59
0% { transform: rotateX(55deg) rotateZ(25deg) }
60
99.99999% { transform: rotateX(55deg) rotateZ(385deg) }
61
100% { transform: rotateX(55deg) rotateZ(25deg) }
62
}
63
64
.side {
65
width: var(--size);
66
height: var(--size);
67
position: absolute;
68
top: 0;
69
left: 0;
70
}
71
72
.s-1 {
73
background-image: var(--s1-bg);
74
background-size: cover;
75
transform: translateZ(var(--half));
76
}
77
78
.s-2 {
79
background-image: var(--s2-bg);
80
background-size: cover;
81
transform: translateY(var(--half-n)) rotateX(90deg);
82
}
83
84
.s-3 {
85
background-image: var(--s3-bg);
86
background-size: cover;
87
transform: translateZ(var(--half-n));
88
}
89
90
.s-4 {
91
background-image: var(--s4-bg);
92
background-size: cover;
93
transform: translateX(var(--half-n)) rotateY(90deg);
94
}
95
96
.s-5 {
97
background-image: var(--s5-bg);
98
background-size: cover;
99
transform: translateX(var(--half)) rotateY(90deg);
100
}
101
102
.s-6 {
103
background-image: var(--s6-bg);
104
background-size: cover;
105
transform: translateY(var(--half)) rotateX(90deg);
106
}
1
1
Console errors: 0