css布局实现三维圆球涡旋动画效果代码
代码语言:html
所属分类:三维
代码描述: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:#111;color:#fff;min-height:100vh;display:grid;place-items:center} body { font-size: 100px; overflow: hidden; perspective: 3000px; } .vortex { position: relative; transform: rotateX(60deg); transform-style: preserve-3d; } .ball { position: absolute; width: 1em; height: 1em; border-radius: 50%; transform-origin: bottom; transform-style: preserve-3d; background-image: radial-gradient(circle at top, hsl(var(--hue, 0), 100%, 75%), hsl(var(--hue, 0), 100%, 0%)); -webkit-animation: dot 60s var(--delay) infinite; animation: dot 60s var(--delay) infinite; } @-webkit-keyframes dot { 0% { transform: translate(-50%, -50%) rotateZ(var(--angle)) translateX(10em) rotateZ(calc(var(--angle) * -1)) rotateX(-60deg) scale(0); -webkit-animation-timing-function: ease-in; animation-timing-function: ease-in; } 80% { transform: translate(-50%, -50%) rotateZ(var(--angle)) translateX(2em) rotateZ(calc(var(--angle) * -1)) rotateX(-60deg) scale(1); -webkit-animation-timing-function: ease-out; animation-timing-function: ease-out; } 100% { transform: translate(-50%, -50%) rotateZ(var(--angle)) translateX(0em) rotateZ(calc(var(--angle) * -1)) rotateX(-60deg) scale(0); } } @keyframes dot { 0% { transform: translate(-50%, -50%) rotateZ(var(--angle)) translateX(10em) rotateZ(calc(var(--angle) * -1)) rotateX(-60deg) scale(0); -webkit-animation-timing-function: ease-in; animation-timing-function: ease-in; } 80% { transform: translate(-50%, -50%) rotateZ(var(--angle)) translateX(2em) rotateZ(calc(var(--angle) * -1)) rotateX(-60deg) scale(1); -webkit-animation-timing-function: ease-out; animation-timing-function: ease-out; } 100% { transform: translate(-50%, -50%) rotateZ(var(--angle)) translateX(0em) rotateZ(calc(var(--angle) * -1)) rotateX(-60deg) scale(0); } } .ball:nth-child(1) { --delay: 0s; --angle: 0deg; --hue: 0; } .ball:nth-child(2) { --delay: -0.234375s; --angle: -84.375deg; --hue: -1.40625; } .ball:nth-child(3) { --delay: -0.46875s; --angle: -168.75deg; --hue: -2.8125; } .ball:nth-child(4) { --delay: -0.703125s; --angle: -253.125deg; --hue: -4.21875; } .ball:nth-child(5) { --delay: -0.9375s; --angle: -337.5deg; --hue: -5.625; } .ball:nth-child(6) { --delay: -1.171875s; --angle: -421.875deg; --hue: -7.03125; } .ball:nth-child(7) { --delay: -1.40625s; --angle: -506.25deg; --hue: -8.4375; } .ball:nth-child(8) { --delay: -1.640625s; --angle: -590.625deg; --hue: -9.84375; } .ball:nth-child(9) { --delay: -1.875s; --angle: -675deg; --hue: -11.25; } .ball:nth-child(10) { --delay: -2.109375s; --angle: -759.375deg; --hue: -12.65625; } .ball:nth-child(11) { --delay: -2.34375s; --angle: -843.75deg; --hue: -14.0625; } .ball:nth-child(12) { --delay: -2.578125s; --angle: -928.125deg; --hue: -15.46875; } .ball:nth-child(13) { --delay: -2.8125s; --angle: -1012.5deg; --hue: -16.875; } .ball:nth-child(14) { --delay: -3.046875s; --angle: -1096.875deg; --hue: -18.28125; } .ball:nth-child(15) { --delay: -3.28125s; --angle: -1181.25deg; --hue: -19.6875; } .ball:nth-child(16) { --delay: -3.515625s; --angle: -1265.625deg; --hue: -21.09375; } .ball:nth-child(17) { --delay: -3.75s; --angle: -1350deg; --hue: -22.5; } .ball:nth-child(18) { --delay: -3.984375s; --angle: -1434.375deg; --hue: -23.90625; } .ball:nth-child(19) { --delay: -4.21875s; --angle: -1518.75deg; --hue: -25.3125; } .ball:nth-child(20) { --delay: -4.453125s; --angle: -1603.125deg; --hue: -26.71875; } .ball:nth-child(21) { --delay: -4.6875s; --angle: -1687.5deg; --hue: -28.125; } .ball:nth-child(22) { --delay: -4.921875s; --angle: -1771.875deg; --hue: -29.53125; } .ball:nth-child(23) { --delay: -5.15625s; --angle: -1856.25deg; --hue: -30.9375; } .ball:nth-child(24) { --delay: -5.390625s; --angle: -1940.625deg; --hue: -32.34375; } .ball:nth-child(25) { --delay: -5.625s; --angle: -2025deg; --hue: -33.75; } .ball:nth-child(26) { --delay: -5.859375s; --angle: -2109.375deg; --hue: -35.15625; } .ball:nth-child(27) { --delay: -6.09375s; --angle: -2193.75deg; --hue: -36.5625; } .ball:nth-child(28) { --delay: -6.328125s; --angle: -2278.125deg; --hue: -37.96875; } .ball:nth-child(29) { --delay: -6.5625s; --angle: -2362.5deg; --hue: -39.375; } .ball:nth-child(30) { --delay: -6.796875s; --angle: -2446.875deg; --hue: -40.78125; } .ball:nth-child(31) { --delay: -7.03125s; --angle: -2531.25deg; --hue: -42.1875; } .ball:nth-child(32) { --delay: -7.265625s; --angle: -2615.625deg; --hue: -43.59375; } .ball:nth-child(33) { --delay: -7.5s; --angle: -2700deg; --hue: -45; } .ball:nth-child(34) { --delay: -7.734375s; --angle: -2784.375deg; --hue: -46.40625; } .ball:nth-child(35) { --delay: -7.96875s; --angle: -2868.75deg; --hue: -47.8125; } .ball:nth-child(36) { --delay: -8.203125s; --angle: -2953.125deg; --hue: -49.21875; } .ball:nth-child(37) { --delay: -8.4375s; --angle: -3037.5deg; --hue: -50.625; } .ball:nth-child(38) { --delay: -8.671875s; --angle: -3121.875deg; --hue: -52.03125; } .ball:nth-child(39) { --delay: -8.90625s; --angle: -3206.25deg; --hue: -53.4375; } .ball:nth-child(40) { --delay: -9.140625s; --angle: -3290.625deg; --hue: -54.84375; } .ball:nth-child(41) { --delay: -9.375s; --angle: -3375deg; --hue: -56.25; } .ball:nth-child(42) { --delay: -9.609375s; --angle: -3459.375deg; --hue: -57.65625; } .ball:nth-child(43) { --delay: -9.84375s; --angle: -3543.75deg; --hue: -59.0625; } .ball:nth-child(44) { --delay: -10.078125s; --angle: -3628.125deg; --hue: -60.46875; } .ball:nth-child(45) { --delay: -10.3125s; --angle: -3712.5deg; --hue: -61.875; } .ball:nth-child(46) { --delay: -10.546875s; .........完整代码请登录后点击上方下载按钮下载查看
网友评论0