XtendLan 3d
by Petr Haluza
HTML
<div id="tridiv">
<div class="scene" style="-webkit-transform:rotateX(8deg) rotateY(-121deg); -moz-transform:rotateX(8deg) rotateY(-121deg); -ms-transform:rotateX(8deg) rotateY(-121deg); transform:rotateX(8deg) rotateY(-121deg); ">
<div class="shape cuboid-1 cub-1">
<div class="face ft"></div>
<div class="face bk"></div>
<div class="face rt"></div>
<div class="face lt"></div>
<div class="face bm"></div>
<div class="face tp"></div>
</div>
<div class="shape cuboid-2 cub-2">
<div class="face ft"></div>
<div class="face bk"></div>
<div class="face rt"></div>
<div class="face lt"></div>
<div class="face bm"></div>
<div class="face tp"></div>
</div>
<div class="shape cuboid-3 cub-3">
<div class="face ft"></div>
<div class="face bk"></div>
<div class="face rt"></div>
<div class="face lt"></div>
<div class="face bm"></div>
<div class="face tp"></div>
</div>
<div class="shape cuboid-4 cub-4">
<div class="face ft"></div>
<div class="face bk"></div>
<div class="face rt"></div>
<div class="face lt"></div>
<div class="face bm"></div>
<div class="face tp"></div>
</div>
</div>
</div>
CSS
/* /!\ You need to add vendor prefixes in order to render the CSS properly (or simply use http://leaverou.github.io/prefixfree/) /!\ */ #tridiv {
perspective: 800px;
position: absolute;
overflow: hidden;
width: 100%;
height: 100%;
background: transparent;
font-size: 287.5%;
}
.face {
box-shadow: inset 0 0 0 1px rgba(0, 0, 0, 0.44);
}
.scene, .shape, .face, .face-wrapper, .cr {
position: absolute;
transform-style: preserve-3d;
}
.scene {
width: 80em;
height: 80em;
top: 50%;
left: 50%;
margin: -40em 0 0 -40em;
}
.shape {
top: 50%;
left: 50%;
width: 0;
height: 0;
transform-origin: 50%;
}
.face, .face-wrapper {
overflow: hidden;
transform-origin: 0 0;
backface-visibility: hidden;
/* hidden by default, prevent blinking and other weird rendering glitchs */
}
.face {
background-size: 100% 100%!important;
background-position: center;
}
.face-wrapper .face {
left: 100%;
width: 100%;
height: 100%
}
.photon-shader {
position: absolute;
left: 0;
top: 0;
width: 100%;
height: 100%
}
.side {
left: 50%;
}
.cr, .cr .side {
height: 100%;
}
[class*="cuboid"] .ft, [class*="cuboid"] .bk {
width: 100%;
height: 100%;
}
[class*="cuboid"] .bk {
left: 100%;
}
[class*="cuboid"] .rt {
transform: rotateY(-90deg) translateX(-50%);
}
[class*="cuboid"] .lt {
transform: rotateY(90deg) translateX(-50%);
}
[class*="cuboid"] .tp {
transform: rotateX(90deg) translateY(-50%);
}
[class*="cuboid"] .bm {
transform: rotateX(-90deg) translateY(-50%);
}
[class*="cuboid"] .lt {
left: 100%;
}
[class*="cuboid"] .bm {
top: 100%;
}
/* .cub-1 styles */
.cub-1 {
transform:translate3D(0em, 0em, 5em) rotateX(0deg) rotateY(0deg) rotateZ(0deg);
opacity:1;
width:4em;
height:4em;
margin:-2em 0 0 -2em;
}
.cub-1 .ft {
transform:translateZ(2em);
}
.cub-1 .bk {
transform:translateZ(-2em) rotateY(180deg);
}
.cub-1 .rt, .cub-1 .lt {
width:4em;
height:4em;
}
.cub-1 .tp, .cub-1 .bm {
width:4em;
height:4em;
}
.cub-1...