-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathindex.html
118 lines (108 loc) · 3.09 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
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
<!DOCTYPE html>
<html>
<head>
<title>MM 2020 Catalog</title>
<style>
:root {
--mmbook-height: 70vh; /* 9in, reference */
--mmbook-width: calc(var(--mmbook-height) * 0.66666667); /* 6in = 6/9 × reference */
--mmbook-thickness: calc(var(--mmbook-height) * 0.137888889); /* 1.241in = 1.241/9 × reference */
}
body {
margin: 0;
padding: 0;
width: 100vw;
height: 100vh;
display: flex;
justify-content: center;
align-items: center;
}
figure {
margin: 0;
padding: 0;
}
.mmbook.scene {
width: var(--mmbook-width);
height: var(--mmbook-height);
perspective: 24in;
/*border: 4px solid black;*/
}
.mmbook .case {
width: 100%;
height: 100%;
position: relative;
transform-style: preserve-3d;
transform-origin: 50% 50% calc(-0.5 * var(--mmbook-thickness));
animation: revolve 10s linear infinite;
}
.mmbook .face {
background-color: #f3f3f3;
position: absolute;
transform-origin: 0 0;
background-size: cover;
display: flex;
justify-content: center;
align-items: center;
text-align: center;
}
.mmbook .face.front {
background-image: url(img/front.svg);
width: var(--mmbook-width);
height: var(--mmbook-height);
transform: rotateY( 0 ) translateZ( 0 );
}
.mmbook .face.foreedge {
background-image: url(img/foreedge.jpg);
width: var(--mmbook-thickness);
height: var(--mmbook-height);
transform: rotateY(90deg) translateZ( var(--mmbook-width) );
}
.mmbook .face.back {
background-image: url(img/back.svg);
transform-origin: 50% 50%; /* eliminates need for translateX(100%) */
width: var(--mmbook-width);
height: var(--mmbook-height);
transform: rotateY(180deg) translateZ( var(--mmbook-thickness) );
}
.mmbook .face.spine {
background-image: url(img/spine.svg);
width: var(--mmbook-thickness);
height: var(--mmbook-height);
transform: rotateY(-90deg) translateX(-100%) translateZ( 0 );
}
.mmbook .face.head {
background-image: url(img/foreedge.jpg);
background-position-x: 100%;
width: var(--mmbook-thickness);
height: var(--mmbook-width);
transform: rotateX(-90deg) rotateZ(90deg) translateY(-100%);
}
.mmbook .face.tail {
background-image: url(img/foreedge.jpg);
width: var(--mmbook-thickness);
height: var(--mmbook-width);
transform: rotateX(-90deg) rotateZ(90deg) translateY(-100%) translateZ( var(--mmbook-height) );
}
@keyframes revolve {
from {
transform: rotateY(0);
}
to {
transform: rotateY(360deg);
}
}
</style>
</head>
<body>
<div class="mmbook scene">
<div class="case">
<figure class="face front"></figure>
<figure class="face foreedge"></figure>
<figure class="face back"></figure>
<figure class="face spine"></figure>
<figure class="face head"></figure>
<figure class="face tail"></figure>
</div>
</div>
</body>
</html>