svg+css实现点线发散动画效果代码
代码语言:html
所属分类:动画
代码描述:svg+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"> <style> * { border: 0; box-sizing: border-box; margin: 0; padding: 0; } :root { --hue: 223; --bg: hsl(var(--hue),90%,90%); --fg: hsl(var(--hue),90%,10%); --line1: hsl(193, 90%, 35%); --line2: hsl(203, 90%, 40%); --line3: hsl(213, 90%, 45%); --line4: hsl(var(--hue),90%,50%); --trans-dur: 0.3s; font-size: calc(14px + (30 - 14) * (100vw - 280px) / (3840 - 280)); } body { background-color: var(--bg); color: var(--fg); display: flex; font: 1em/1.5 sans-serif; height: 100vh; transition: background-color var(--trans-dur), color var(--trans-dur); } .pl { --dur: 4s; display: block; margin: auto; width: 15em; height: auto; } .pl__line, .pl__line-wobble { animation-duration: var(--dur); animation-iteration-count: infinite; animation-timing-function: cubic-bezier(0.65, 0, 0.35, 1); } .pl__line { animation-name: line-move; animation-timing-function: cubic-bezier(0.33, 1, 0.67, 1); stroke: var(--line1); transition: stroke var(--trans-dur); } .pl__line:nth-child(2) { stroke: var(--line2); } .pl__line:nth-child(3) { stroke: var(--line3); } .pl__line:nth-child(4) { stroke: var(--line4); } .pl__line-wobble { animation-name: line-wobble; } .pl__lines:nth-child(8n) .pl__line:nth-child(1) { animation-delay: calc(var(--dur) * -0.0228); } .pl__lines:nth-child(8n) .pl__line:nth-child(2) { animation-delay: calc(var(--dur) * -0.0078); } .pl__lines:nth-child(8n) .pl__line:nth-child(3) { animation-delay: calc(var(--dur) * 0.0072); } .pl__lines:nth-child(8n) .pl__line:nth-child(4) { animation-delay: calc(var(--dur) * 0.0222); } .pl__lines:nth-child(8n) .pl__line-wobble { animation-delay: calc(var(--dur) * 0.0222); } .pl__lines:nth-child(8n+1) .pl__line:nth-child(1) { animation-delay: calc(var(--dur) * -0.6341); } .pl__lines:nth-child(8n+1) .pl__line:nth-child(2) { animation-delay: calc(var(--dur) * -0.6191); } .pl__lines:nth-child(8n+1) .pl__line:nth-child(3) { animation-delay: calc(var(--dur) * -0.6041); } .pl__lines:nth-child(8n+1) .pl__line:nth-child(4) { animation-delay: calc(var(--dur) * -0.5891); } .pl__lines:nth-child(8n+1) .pl__line-wobble { animation-delay: calc(var(--dur) * -0.5891); } .pl__lines:nth-child(8n+2) .pl__line:nth-child(1) { animation-delay: calc(var(--dur) * -0.3102); } .pl__lines:nth-child(8n+2) .pl__line:nth-child(2) { animation-delay: calc(var(--dur) * -0.2952); } .pl__lines:nth-child(8n+2) .pl__line:nth-child(3) { animation-delay: calc(var(--dur) * -0.2802); } .pl__lines:nth-child(8n+2) .pl__line:nth-child(4) { animation-delay: calc(var(--dur) * -0.2652); } .pl__lines:nth-child(8n+2) .pl__line-wobble { animation-delay: calc(var(--dur) * -0.2652); } .pl__lines:nth-child(8n+3) .pl__line:nth-child(1) { animation-delay: calc(var(--dur) * -0.9257); } .pl__lines:nth-child(8n+3) .pl__line:nth-child(2) { animation-delay: calc(var(--dur) * -0.9107); } .pl__lines:nth-child(8n+3) .pl__line:nth-child(3) { animation-delay: calc(var(--dur) * -0.8957); } .pl__lines:nth-child(8n+3) .pl__line:nth-child(4) { animation-delay: calc(var(--dur) * -0.8807); } .pl__lines:nth-child(8n+3) .pl__line-wobble { animation-delay: calc(var(--dur) * -0.8807); } .pl__lines:nth-child(8n+4) .pl__line:nth-child(1) { animation-delay: calc(var(--dur) * -0.593); } .pl__lines:nth-child(8n+4) .pl__line:nth-child(2) { animation-delay: calc(var(--dur) * -0.578); } .pl__lines:nth-child(8n+4) .pl__line:nth-child(3) { animation-delay: calc(var(--dur) * -0.563); } .pl__lines:nth-child(8n+4) .pl__line:nth-child(4) { animation-delay: calc(var(--dur) * -0.548); } .pl__lines:nth-child(8n+4) .pl__line-wobble { animation-delay: calc(var(--dur) * -0.548); } .pl__lines:nth-child(8n+5) .pl__line:nth-child(1) { a.........完整代码请登录后点击上方下载按钮下载查看
网友评论0