纯css实现轨道运行loading加载效果
代码语言:html
所属分类:加载滚动
下面为部分代码预览,完整代码请点击下载或在bfwstudio webide中打开
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <style> body { margin: 0; height: 100vh; perspective-origin: 50% calc(50% - 2.5em); perspective: 35em; background: #121212; } div, :before { position: absolute; transform-style: preserve-3d; } .system { --ax: 10deg; top: 50%; left: 50%; transform: rotatex(calc(-1*var(--ax))); } .orbit { --r: calc(var(--f)*2em); --hsl: calc(var(--i)*360/var(--n)), 100%, 65%; --t: calc(3s + var(--i)*.75s); animation: rot var(--t) linear infinite; } .orbit:before { position: absolute; border: solid 4px rgba(255, 255, 255, 0.1); padding: calc(var(--r) - 1px); border-radius: 50%; transform: translate(-50%, -50%) rotatex(-90deg); content: ""; } @keyframes rot { to { transform: rotatey(1turn); } } .planet { --ay: calc(var(--j)/var(--m)*var(--a)); transform: rotatey(var(--ay)) translatez(var(--r)) rotatey(calc(-1*var(--ay))) rotatex(var(--ax)); } .planet:before { margin: -0.5em; padding: 0.5em; border-radius: 50%; background: radial-gradient(circle at 65% 35%, #fff, HSL(var(--hsl))); animation: rot var(--t) linear infinite reverse; content: ""; } </style> </head> <body translate="no"> <style>.planet:nth-child(1) { --j: 0 }.planet:nth-child(2) { --j: 1 }.planet:nth-child(3) { --j: 2 }.planet:nth-child(4) { --j: 3 }.planet:nth-child(5) { --j: 4 }.planet:nth-child(6) { --j: 5 }.planet:nth-child(7) { --j: 6 }.planet:nth-child(8) { --j: 7 }.planet:nth-child(9) { --j: 8 } </style> <div class="system" style="--n: 6; --a: 90deg;"> <div class="orbit" style="--i: 0; --m: 3; --f: 3.7320508075688776;"> <div class="planet"></div> <div class="planet"></div> <div class="planet"></div> </div> <div class="orbit" st.........完整代码请登录后点击上方下载按钮下载查看
网友评论0