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.0, viewport-fit=cover" /> <style> * { border: 0; box-sizing: border-box; margin: 0; padding: 0; } :root { --hue: 223; --sat: 10%; --bg: hsl(var(--hue),var(--sat),90%); --fg: hsl(var(--hue),var(--sat),10%); --hue-success: 126; --success1: hsl(var(--hue-success),90%,40%); --success2: hsl(var(--hue-success),90%,24%); --periwinkle: hsl(240,90%,70%); --light-blue: hsl(210,90%,70%); --orange: hsl(15,90%,70%); --magenta: hsl(300,90%,70%); --light-green: hsl(105,40%,70%); --light-teal: hsl(150,40%,70%); --purple: hsl(270,90%,70%); --trans-dur: 0.3s; font-size: clamp(1rem,0.95rem + 0.25vw,1.25rem); } 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); } .spinner { color: var(--success2); overflow: visible; margin: auto; width: 8em; height: auto; transition: color var(--trans-dur); } .spinner circle, .spinner g, .spinner path { animation-duration: 4s; animation-timing-function: linear; animation-fill-mode: forwards; } .spinner__check, .spinner__pop-start, .spinner__worm { transform-origin: 24px 24px; } .spinner__check { animation-name: check; } .spinner__pop-dot { animation-name: pop-dot; } .spinner__pop-dot-group { animation-name: pop-dot-group1; } .spinner__pop-dot-group + .spinner__pop-dot-group { animation-name: pop-dot-group2; } .spinner__pop-end { animation-name: pop-end; } .spinner__pop-start { animation-name: pop-start; } .spinner__worm { animation-name: worm; } /* Dark theme */ @media (prefers-color-scheme: dark) { :root { --bg: hsl(var(--hue),90%,10%); --fg: hsl(var(--hue),90%,90%); } .spinner { color: var(--success1); } } /* Animations */ @keyframes check { from, 64% { stroke-dashoffset: -36.7; transform: scale(1); } 75%, 77% { animation-timing-function: cubic-bezier(0.65, 0, 0.35, 1); stroke-dashoffset: 13.7; transform: scale(1); } 79% { animation-timing-function: cubic-bezier(0.65, 0, 0.35, 1); stroke-dashoffset: 13.7; transform: scale(0.4); } 87% { animation-timing-function: cubic-bezier(0.32, 0, 0.67, 0); stroke-dashoffset: 13.7; transform: scale(1.4); } 93%, to { stroke-dashoffset: 13.7; transform: scale(1); } } @keyframes pop-dot { from, 80% { animation-timing-function: cubic-bezier(0.33, 1, 0.68, 1); transform: translate(0, 6px); } 90%, to { transform: translate(0, 0); } } @keyframes pop-dot-group1 { from, 82.5%, 90%, to { opacity: 0; } 85%, 87.5% { opacity: 1; } } @keyframes pop-dot-group2 { from, 82.5%, to { opacity: 0; } 85%, 90% { opacity: 1; } } @keyfram.........完整代码请登录后点击上方下载按钮下载查看
网友评论0