I haven't done much of anything with CSS perspective or animations, so I just figured I'd start my day off following a simple tutorial blogged by David Walsh (http://davidwalsh.name/css-cube).
A Pen by A Non Ymous on CodePen.
I haven't done much of anything with CSS perspective or animations, so I just figured I'd start my day off following a simple tutorial blogged by David Walsh (http://davidwalsh.name/css-cube).
A Pen by A Non Ymous on CodePen.
<div class="wrap"> | |
<div class="cube"> | |
<div class="front">front</div> | |
<div class="back">back</div> | |
<div class="top">top</div> | |
<div class="bottom">bottom</div> | |
<div class="left">left</div> | |
<div class="right">right</div> | |
</div> | |
</div> |
// Following the tutorial blogged by David Walsh (http://davidwalsh.name/) I enabled prefix free and disabled normalize for this to work. |
@import "compass"; | |
.wrap { | |
margin: 5em 10em; | |
perspective: 800px; | |
perspective-origin: 50% 100px; | |
} // .wrap | |
@keyframes spin { | |
from { transform: rotateY(0); } | |
to { transform: rotateY(360deg); } | |
} | |
.cube { | |
animation: spin 20s infinite linear; | |
position: relative; | |
width: 200px; | |
transform-style: preserve-3d; | |
div { | |
box-shadow: inset 0 0 30px rgba(125, 125, 125, .8); | |
color: #444; | |
font-size: 2em; | |
height: 200px; | |
line-height: 6; | |
position: absolute; | |
text-align: center; | |
text-transform: uppercase; | |
width: 200px; | |
} | |
.back { transform: translateZ(-100px) rotateY(180deg); } | |
.right { | |
transform: rotateY(-270deg) translateX(100px); | |
transform-origin: top right; | |
} | |
.left { | |
transform: rotateY(270deg) translateX(-100px); | |
transform-origin: center left; | |
} | |
.top { | |
transform: rotateX(-90deg) translateY(-100px); | |
transform-origin: top center; | |
} | |
.bottom { | |
transform: rotateX(90deg) translateY(100px); | |
transform-origin: bottom center; | |
} | |
.front { transform: translateZ(100px); } | |
} // .cube | |