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; } 18.62% { top: -3em; } 22.04% { top: -4em; } 24.66% { top: -5em; } } .column:nth-child(4) { --ry: 90deg; } .column:nth-child(4) .box { -webkit-animation: boxRotate3 12s var(--delay) infinite ease-in-out, boxTop3 12s var(--delay) infinite step-end, boxTranslate 12s var(--delay) infinite linear; animation: boxRotate3 12s var(--delay) infinite ease-in-out, boxTop3 12s var(--delay) infinite step-end, boxTranslate 12s var(--delay) infinite linear; } @-webkit-keyframes boxRotate3 { 0%, 4% { rotate: 0.25turn; } 8.28%, 11.16%, 13.3%, 16.18%, 18.2% { rotate: -0.25turn; -webkit-animation-timing-function: step-end; animation-timing-function: step-end; } 8.28%, 11.16%, 13.3%, 16.18%, 18.2% { rotate: 0turn; } 22.64%, 100% { rotate: -0.5turn; } } @keyframes boxRotate3 { 0%, 4% { rotate: 0.25turn; } 8.28%, 11.16%, 13.3%, 16.18%, 18.2% { rotate: -0.25turn; -webkit-animation-timing-function: step-end; animation-timing-function: step-end; } 8.28%, 11.16%, 13.3%, 16.18%, 18.2% { rotate: 0turn; } 22.64%, 100% { rotate: -0.5turn; } } @-webkit-keyframes boxTop3 { 0%, 4% { top: 0; } 8.28% { top: -1em; } 11.16% { top: -2em; } 13.3% { top: -3em; } 16.18% { top: -4em; } 18.2% { top: -5em; } } @keyframes boxTop3 { 0%, 4% { top: 0; } 8.28% { top: -1em; } 11.16% { top: -2em; } 13.3% { top: -3em; } 16.18% { top: -4em; } 18.2% { top: -5em; } } .column:nth-child(5) { --ry: 120deg; } .column:nth-child(5) .box { -webkit-animation: boxRotate4 12s var(--delay) infinite ease-in-out, boxTop4 12s var(--delay) infinite step-end, boxTranslate 12s var(--delay) infinite linear; animation: boxRotate4 12s var(--delay) infinite ease-in-out, boxTop4 12s var(--delay) infinite step-end, boxTranslate 12s var(--delay) infinite linear; } @-webkit-keyframes boxRotate4 { 0%, 10.4% { rotate: 0.25turn; } 17.48%, 20.94%, 23.46%, 26.36%, 30.14% { rotate: -0.25turn; -webkit-animation-timing-function: step-end; animation-timing-function: step-end; } 17.48%, 20.94%, 23.46%, 26.36%, 30.14% { rotate: 0turn; } 35.7%, 100% { rotate: -0.5turn; } } @keyframes boxRotate4 { 0%, 10.4% { rotate: 0.25turn; } 17.48%, 20.94%, 23.46%, 26.36%, 30.14% { rotate: -0.25turn; -webkit-animation-timing-function: step-end; animation-timing-function: step-end; } 17.48%, 20.94%, 23.46%, 26.36%, 30.14% { rotate: 0turn; } 35.7%, 100% { rotate: -0.5turn; } } @-webkit-keyframes boxTop4 { 0%, 10.4% { top: 0; } 17.48% { top: -1em; } 20.94% { top: -2em; } 23.46% { top: -3em; } 26.36% { top: -4em; } 30.14% { top: -5em; } } @keyframes boxTop4 { 0%, 10.4% { top: 0; } 17.48% { top: -1em; } 20.94% { top: -2em; } 23.46% { top: -3em; } 26.36% { top: -4em; } 30.14% { top: -5em; } } .column:nth-child(6) { --ry: 150deg; } .column:nth-child(6) .box { -webkit-animation: boxRotate5 12s var(--delay) infinite ease-in-out, boxTop5 12s var(--delay) infinite step-end, boxTranslate 12s var(--delay) infinite linear; animation: boxRotate5 12s var(--delay) infinite ease-in-out, boxTop5 12s var(--delay) infinite step-end, boxTranslate 12s var(--delay) infinite linear; } @-webkit-keyframes boxRotate5 { 0%, 6.8% { rotate: 0.25turn; } 12.8%, 16.3%, 18.66%, 22.16%, 24.54% { rotate: -0.25turn; -webkit-animation-timing-function: step-end; animation-timing-function: step-end; } 12.8%, 16.3%, 18.66%, 22.16%, 24.54% { rotate: 0turn; } 31.22%, 100% { rotate: -0.5turn; } } @keyframes boxRotate5 { 0%, 6.8% { rotate: 0.25turn; } 12.8%, 16.3%, 18.66%, 22.16%, 24.54% { rotate: -0.25turn; -webkit-animation-timing-function: step-end; animation-timing-function: step-end; } 12.8%, 16.3%, 18.66%, 22.16%, 24.54% { rotate: 0turn; } 31.22%, 100% { rotate: -0.5turn; } } @-webkit-keyframes boxTop5 { 0%, 6.8% { top: 0; } 12.8% { top: -1em; } 16.3% { top: -2em; } 18.66% { top: -3em; } 22.16% { top: -4em; } 24.54% { top: -5em; } } @keyframes boxTop5 { 0%, 6.8% { top: 0; } 12.8% { top: -1em; } 16.3% { top: -2em; } 18.66% { top: -3em; } 22.16% { top: -4em; } 24.54% { top: -5em; } } .column:nth-child(7) { --ry: 180deg; } .column:nth-child(7) .box { -webkit-animation: boxRotate6 12s var(--delay) infinite ease-in-out, boxTop6 12s var(--delay) infinite step-end, boxTranslate 12s var(--delay) infinite linear; animation: boxRotate6 12s var(--delay) infinite ease-in-out, boxTop6 12s var(--delay) infinite step-end, boxTranslate 12s var(--delay) infinite linear; } @-webkit-keyframes boxRotate6 { 0%, 14.4% { rotate: 0.25turn; } 21.24%, 25.02%, 27.38%, 30.98%, 33.4% { rotate: -0.25turn; -webkit-animation-timing-function: step-end; animation-timing-function: step-end; } 21.24%, 25.02%, 27.38%, 30.98%, 33.4% { rotate: 0turn; } 40.64%, 100% { rotate: -0.5turn; } } @keyframes boxRotate6 { 0%, 14.4% { rotate: 0.25turn; } 21.24%, 25.02%, 27.38%, 30..........完整代码请登录后点击上方下载按钮下载查看
网友评论0