css3实现立方体,并且自转效果

先是HTML 一个父div包含四个绝对定位的div

  1. <div class='container container--realistic'>
  2. <div class='cube cube--ani'>
  3. <div class='face'>1</div>
  4. <div class='face'>2</div>
  5. <div class='face'>3</div>
  6. <div class='face'>4</div>
  7. </div>
  8. </div>

首先,一个静态的立方体

  1. .face:nth-child(1) {
  2. -webkit-transform: /*rotateY(0deg)*/ translateZ(2.5em /* half the side length, 5em in this case */);
  3. }
  4. .face:nth-child(2) {
  5. -webkit-transform: rotateY( 90deg) translateZ(2.5em);
  6. }
  7. .face:nth-child(3) {
  8. -webkit-transform: rotateY(180deg) translateZ(2.5em);
  9. }
  10. .face:nth-child(4) {
  11. -webkit-transform: rotateY(270deg) translateZ(2.5em);
  12. }

让立方体转起来

  1. .cube--ani {
  2. -webkit-animation: rot 4s linear infinite;
  3. }
  4. @-webkit-keyframes rot {
  5. to { -webkit-transform: rotateY(-330deg) rotateX(370deg); }
  6. }

这里定义了一个动画 rot

从起始位置转动到 Y轴-330deg X轴370deg

并且循环无限次,每次4s

OK!