svg的圆形进度条
目前发现svg实现一些动画效果是比较高效简单的。
如圆形进度条,只要会stroke-dasharray与stroke-dashoffset属性基本就可以实现,而且美观。
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Document</title> <style> .svg{ transform: rotate(-90deg); } .t1{ stroke-dashoffset:0px; animation: donut-show-one linear 5s forwards; } @keyframes donut-show-one { from{ stroke-dashoffset: 0px; } to { stroke-dashoffset: -565px; } } </style> </head> <body> <svg width="300px" height="300px" class="svg"> <circle id="donut-graph" class="t2" r="90" cy="150" cx="150" stroke-width="4" stroke="#000" stroke-linejoin="round" stroke-linecap="round" fill="none"/> <circle id="donut-graph" class="t1" r="90" cy="150" cx="150" stroke-width="4" stroke="#666" stroke-linejoin="round" stroke-linecap="round" fill="none" stroke-dasharray="565" /> </svg> </body> </html>
stroke-dasharray是实线长度与实线之间距离的设置值,当一个为一个值是就是同等值,就是实线与间隙同等长。
stroke-dashoffset这是偏移值。
这两个值如果一起使用在stroke-dasharray为圆的周长时而stroke-dashoffset动态设置值,那么就会出现圆的进度条的效果。
【推荐】还在用 ECharts 开发大屏?试试这款永久免费的开源 BI 工具!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步