js+css实现同心圆加载数字进度条动画效果代码
代码语言:html
所属分类:进度条
代码描述:js+css实现同心圆加载数字进度条动画效果代码
下面为部分代码预览,完整代码请点击下载或在bfwstudio webide中打开
<!DOCTYPE html> <html lang="en" > <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1, viewport-fit=cover"> <link rel='stylesheet' href='https://fonts.googleapis.com/css2?family=DM+Sans&display=swap'> <style> * { border: 0; box-sizing: border-box; margin: 0; padding: 0; } :root { --hue: 223; --bg: hsl(var(--hue),90%,10%); --fg: hsl(var(--hue),90%,90%); --primary: hsl(var(--hue),90%,50%); --trans-dur: 0.3s; --trans-timing: cubic-bezier(0.65,0,0.35,1); font-size: calc(14px + (30 - 14) * (100vw - 280px) / (3840 - 280)); } body { background-color: var(--bg); color: var(--fg); display: flex; font: 1em/1.5 "DM Sans", sans-serif; height: 100vh; } .l { --dur: 2s; --dur-frac: calc(var(--dur) * 0.7); --start-delay-a: calc(var(--dur) * 0.125); --mid-delay-a: calc(var(--dur) * 0.825); --end-delay-a: calc(var(--dur) * 1.825); --start-delay-b: calc(var(--dur) * 0.25); --mid-delay-b: calc(var(--dur) * 0.95); --end-delay-b: calc(var(--dur) * 1.95); --end-delay-c: calc(var(--dur) * 1.7); animation: fade-slide-in 0.5s var(--trans-timing); display: block; margin: auto; width: 12em; height: auto; } .l__a, .l__b, .l__c, .l__rotate { transform-origin: 64px 64px; } .l--running .l__a { animation: ring-a-start var(--dur-frac) var(--start-delay-a) linear, ring-a var(--dur) var(--mid-delay-a) linear, ring-a-end var(--dur-frac) var(--end-delay-a) linear; } .l--running .l__b { animation: ring-b-start var(--dur-frac) var(--start-delay-b) linear, ring-b var(--dur) var(--mid-delay-b) linear, ring-b-end var(--dur-frac) var(--end-delay-b) linear; } .l--running .l__c { animation: ring-c-start var(--dur-frac) linear, ring-c var(--dur) var(--dur-frac) linear, ring-c-end var(--dur-frac) var(--end-delay-c) linear; } .l--running .l__rotate { animation: ring-rotate var(--dur) linear infinite; } /* Animations */ @keyframes fade-slide-in { from { opacity: 0; transform: translateY(33%); } to { opacity: 1; transform: translateY(0); } } @keyframes ring-a { from, to { stroke-dashoffset: -329.875; transform: rotate(0); } 50% { stroke-dashoffset: -94.25; transform: rotate(135deg); } } @keyframes ring-a-start { from { stroke-dashoffset: 0; transform: rotate(0); } to { stroke-dashoffset: -329.875; transform: rotate(-360deg); } } @keyframes ring-a-end { from { stroke-dashoffset: -329.875; transform: rotate(0); } to { stroke-dashoffset: 0; transform: rotate(360deg); } } @keyframes ring-b { from, to { stroke-dashoffset: -296.8875; transform: rotate(0); } 50% { stroke-dashoffset: -84.825; transform: rotate(135deg); } } @keyframes ring-b-start { from { stroke-dashoffset: 0; transform: rotate(0); } to { stroke-dashoffset: -296.8875; transform: rotate(-360deg); } } @keyframes ring-b-end { from { stroke-dashoffset: -296.8875; transform: rotate(0); } to { stroke-dashoffset: 0; transform: .........完整代码请登录后点击上方下载按钮下载查看
网友评论0