纯css实现立方体拆解加载loading动画效果
代码语言:html
所属分类:加载滚动
下面为部分代码预览,完整代码请点击下载或在bfwstudio webide中打开
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <style> body { overflow: hidden; margin: 0; height: 100vh; background: #8ab7ca; } body:before, body:after { position: absolute; width: 100%; opacity: .05; font: italic 900 4vmin/ 2 petit formal script; text-align: center; } body:before { content: "Missing you every day"; } body:after { bottom: 0; content: "1st of June 1927 - 18th of January 2019"; } @keyframes prog { to { transform: translate(0); } } div { position: absolute; transform-style: preserve-3d; } .slice { left: calc((var(--k) - .5*(var(--n) - 1))*10em/var(--n)); animation: a 8s calc(var(--k)/var(--n)*4s - 8s) infinite forwards; } .slice:nth-child(1) { --k: 0; } .slice:nth-child(2) { --k: 1; } .slice:nth-child(3) { --k: 2; } .slice:nth-child(4) { --k: 3; } .cube { --n: 4; --f: 0; --notf: calc(1 - var(--f)); --sgnf: calc(1 - 2*var(--f)); top: 50%; left: 50%; transform: rotatex(-35deg) rotatey(calc(var(--sgnf)*45deg)); animation: flip 8s steps(1) infinite; } @keyframes flip { 50% { --f: 1; } } .cuboid { animation-name: cuboid; } .cuboid__face { --i: 0; --j: calc(1 - var(--i)); --m: 1; --out: var(--i); --p: 0; --inn: calc(1 - var(--out)); --top: calc(var(--p)*var(--i)); --lat: calc(1 - var(--top)); --pad: calc((var(--j) + var(--i)/var(--n))*5em); margin: -5em calc(-1*var(--pad)); padding: 5em var(--pad); transform: rotate3d(var(--i), var(--j), 0, calc(var(--m)*90deg)) translatez(calc((var(--i) + var(--j)/var(--n))*5em)); box-shadow: 0 0 calc(var(--i)*1px) currentcolor; background: currentcolor; --lum: calc(65% + var(--out)*15% + var(--top)*20% + (var(--notf)*var(--i) + var(--f)*var(--j))*var(--lat)*10%); color: HSL(200, calc(var(--inn)*30%), var(--lum)); } .cuboid__face:nth-child(2n) { --p: 1; } .cuboid__face:nth-child(-n + 4) { --i: 1; } .cuboid__face:nth-child(1) { --m: 0; } .cuboid__face:nth-child(3) { --m: 2; } .cuboid__face:nth-child(4) { --m: 3; } .cuboid__face:nth-child(6) { --m: -1; } .cuboid:nth-child(1) .cuboid__face:nth-child(6), .cuboid:nth-child(4) .cuboid__face:nth-child(5) { --out: 1; } @keyframes cuboid { 54.375% { transform: translatey(-1.36719em); } 4.375% { transform: translatey(1.36719em); } 57.5% { transform: translatey(-1.875em); } 7.5% { transform: translatey(1.875em); } 59.375% { transform: translatey(-1.99219em); } 9.375% { transform: translatey(1.99219em); } 0%, 52.5%, 56.25%, 58.75%, 60%, 100% { transform: translatey(-2em); } 2.5%, 6.25%, 8.75%, 10%, 50% { transform: translatey(2em); } 52.5%, 56.25%, 58.75%, 2.5%, 6.25%, 8.75% { animation-timing-function: ease-out; } 54.375%, 57.5%, 59.375%, 4..........完整代码请登录后点击上方下载按钮下载查看
网友评论0