3D Cube
by tylorkolbeck
HTML
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<link rel="stylesheet" type="text/css" href="index.css">
<title>Document</title>
</head>
<body>
<div class="scene">
<div class="Cube">
<div class="Cube__face Cube__face-front">front</div>
<div class="Cube__face Cube__face-back">back</div>
<div class="Cube__face Cube__face-right">right</div>
<div class="Cube__face Cube__face-left">left</div>
<div class="Cube__face Cube__face-top">top</div>
<div class="Cube__face Cube__face-bottom">bottom</div>
</div>
</div>
</body>
</html>
CSS
body {
background: #999;
}
.scene {
width: 200px;
height: 200px;
margin: auto;
margin-top: 40%;
perspective: 600px;
}
.Cube {
width: 100%;
height: 100%;
position: relative;
transform-style: preserve-3d;
transform: rotateX(20deg) rotateY(20deg);
}
.Cube__face {
position: absolute;
width: 200px;
height: 200px;
border: 1px solid black;
display: flex;
align-items: center;
justify-content: center;
font-size: 50px;
}
.Cube__face-front {
background: rgba(222, 184, 135, 0.5);
transform: rotateY(0deg)
translateZ(100px);
}
.Cube__face-back {
background: rgba(0, 128, 0, 0.5);
transform: rotateY(180deg)
translateZ(100px);
}
.Cube__face-left {
background: rgba(255, 192, 203, 0.5);
transform: rotateY(-90deg);
}
.Cube__face-right {
background: rgba(255, 166, 0, 0.5);
transform: rotateY(90deg);
}
.Cube__face-top {
background: rgba(128, 0, 128, 0.5);
transform: rotateX(90deg);
}
.Cube__face-bottom {
background: rgba(30, 143, 255, 0.5);
transform: rotateX(-90deg);
}