div+css实现立体攀爬堆积的立方体盒子动画效果代码

代码语言:html

所属分类:动画

代码描述:div+css实现立体攀爬堆积的立方体盒子动画效果代码

代码标签: div css 立体 攀爬 堆积 立方体 盒子 动画

下面为部分代码预览,完整代码请点击下载或在bfwstudio webide中打开

<!DOCTYPE html>
<html lang="en" >

<head>
  <meta charset="UTF-8">
  
  
  
<style>
*, *::before, *::after {
  padding: 0;
  margin: 0 auto;
  box-sizing: border-box;
}

body {
  background-color: #000;
  min-height: 100vh;
  display: grid;
  place-items: center;
  perspective: 800px;
  overflow: hidden;
}
body * {
  transform-style: preserve-3d;
}

.scene {
  position: relative;
  transform: rotateX(-30deg) rotateY(-60deg);
  font-size: 60px;
  -webkit-animation: sceneRotate 60s infinite linear;
          animation: sceneRotate 60s infinite linear;
}
@-webkit-keyframes sceneRotate {
  from {
    transform: rotateX(-30deg) rotateY(0deg);
  }
  to {
    transform: rotateX(-30deg) rotateY(360deg);
  }
}
@keyframes sceneRotate {
  from {
    transform: rotateX(-30deg) rotateY(0deg);
  }
  to {
    transform: rotateX(-30deg) rotateY(360deg);
  }
}

.column {
  position: absolute;
  transform: rotateY(var(--ry)) translateX(2.8em);
}
.column:nth-child(1) {
  --ry: 0deg;
}
.column:nth-child(1) .box {
  -webkit-animation: boxRotate0 12s var(--delay) infinite ease-in-out, boxTop0 12s var(--delay) infinite step-end, boxTranslate 12s var(--delay) infinite linear;
          animation: boxRotate0 12s var(--delay) infinite ease-in-out, boxTop0 12s var(--delay) infinite step-end, boxTranslate 12s var(--delay) infinite linear;
}
@-webkit-keyframes boxRotate0 {
  0%, 32.4% {
    rotate: 0.25turn;
  }
  39.52%, 41.74%, 44.04%, 47.82%, 51.76% {
    rotate: -0.25turn;
    -webkit-animation-timing-function: step-end;
            animation-timing-function: step-end;
  }
  39.52%, 41.74%, 44.04%, 47.82%, 51.76% {
    rotate: 0turn;
  }
  56.2%, 100% {
    rotate: -0.5turn;
  }
}
@keyframes boxRotate0 {
  0%, 32.4% {
    rotate: 0.25turn;
  }
  39.52%, 41.74%, 44.04%, 47.82%, 51.76% {
    rotate: -0.25turn;
    -webkit-animation-timing-function: step-end;
            animation-timing-function: step-end;
  }
  39.52%, 41.74%, 44.04%, 47.82%, 51.76% {
    rotate: 0turn;
  }
  56.2%, 100% {
    rotate: -0.5turn;
  }
}
@-webkit-keyframes boxTop0 {
  0%, 32.4% {
    top: 0;
  }
  39.52% {
    top: -1em;
  }
  41.74% {
    top: -2em;
  }
  44.04% {
    top: -3em;
  }
  47.82% {
    top: -4em;
  }
  51.76% {
    top: -5em;
  }
}
@keyframes boxTop0 {
  0%, 32.4% {
    top: 0;
  }
  39.52% {
    top: -1em;
  }
  41.74% {
    top: -2em;
  }
  44.04% {
    top: -3em;
  }
  47.82% {
    top: -4em;
  }
  51.76% {
    top: -5em;
  }
}
.column:nth-child(2) {
  --ry: 30deg;
}
.column:nth-child(2) .box {
  -webkit-animation: boxRotate1 12s var(--delay) infinite ease-in-out, boxTop1 12s var(--delay) infinite step-end, boxTranslate 12s var(--delay) infinite linear;
          animation: boxRotate1 12s var(--delay) infinite ease-in-out, boxTop1 12s var(--delay) infinite step-end, boxTranslate 12s var(--delay) infinite linear;
}
@-webkit-keyframes boxRotate1 {
  0%, 29.6% {
    rotate: 0.25turn;
  }
  33.8%, 36.52%, 40.22%, 42.42%, 44.88% {
    rotate: -0.25turn;
    -webkit-animation-timing-function: step-end;
            animation-timing-function: step-end;
  }
  33.8%, 36.52%, 40.22%, 42.42%, 44.88% {
    rotate: 0turn;
  }
  51.92%, 100% {
    rotate: -0.5turn;
  }
}
@keyframes boxRotate1 {
  0%, 29.6% {
    rotate: 0.25turn;
  }
  33.8%, 36.52%, 40.22%, 42.42%, 44.88% {
    rotate: -0.25turn;
    -webkit-animation-timing-function: step-end;
            animation-timing-function: step-end;
  }
  33.8%, 36.52%, 40.22%, 42.42%, 44.88% {
    rotate: 0turn;
  }
  51.92%, 100% {
    rotate: -0.5turn;
  }
}
@-webkit-keyframes boxTop1 {
  0%, 29.6% {
    top: 0;
  }
  33.8% {
    top: -1em;
  }
  36.52% {
    top: -2em;
  }
  40.22% {
    top: -3em;
  }
  42.42% {
    top: -4em;
  }
  44.88% {
    top: -5em;
  }
}
@keyframes boxTop1 {
  0%, 29.6% {
    top: 0;
  }
  33.8% {
    top: -1em;
  }
  36.52% {
    top: -2em;
  }
  40.22% {
    top: -3em;
  }
  42.42% {
    top: -4em;
  }
  44.88% {
    top: -5em;
  }
}
.column:nth-child(3) {
  --ry: 60deg;
}
.column:nth-child(3) .box {
  -webkit-animation: boxRotate2 12s var(--delay) infinite ease-in-out, boxTop2 12s var(--delay) infinite step-end, boxTranslate 12s var(--delay) infinite linear;
          animation: boxRotate2 12s var(--delay) infinite ease-in-out, boxTop2 12s var(--delay) infinite step-end, boxTranslate 12s var(--delay) infinite linear;
}
@-webkit-keyframes boxRotate2 {
  0%, 8% {
    rotate: 0.25turn;
  }
  12.32%, 14.68%, 18.62%, 22.04%, 24.66% {
    rotate: -0.25turn;
    -webkit-animation-timing-function: step-end;
            animation-timing-function: step-end;
  }
  12.32%, 14.68%, 18.62%, 22.04%, 24.66% {
    rotate: 0turn;
  }
  29.5%, 100% {
    rotate: -0.5turn;
  }
}
@keyframes boxRotate2 {
  0%, 8% {
    rotate: 0.25turn;
  }
  12.32%, 14.68%, 18.62%, 22.04%, 24.66% {
    rotate: -0.25turn;
    -webkit-animation-timing-function: step-end;
            animation-timing-function: step-end;
  }
  12.32%, 14.68%, 18.62%, 22.04%, 24.66% {
    rotate: 0turn;
  }
  29.5%, 100% {
    rotate: -0.5turn;
  }
}
@-webkit-keyframes boxTop2 {
  0%, 8% {
    top: 0;
  }
  12.32% {
    top: -1em;
  }
  14.68% {
    top: -2em;
  }
  18.62% {
    top: -3em;
  }
  22.04% {
    top: -4em;
  }
  24.66% {
    top: -5em;
  }
}
@keyframes boxTop2 {
  0%, 8% {
    top: 0;
  }
  12.32% {
    top: -1em;
  }
  14.68% {
    top: -2em;
  }.........完整代码请登录后点击上方下载按钮下载查看

网友评论0