svg 圆环进度条从0到80%效果,进度条颜色为:#1e9fff
时间: 2024-03-27 08:35:58 浏览: 88
好的,我可以为您提供一个 SVG 圆环进度条从 0 到 80% 的效果,进度条颜色为 #1e9fff。以下是代码示例:
```html
<svg viewBox="0 0 100 100">
<circle cx="50" cy="50" r="40" fill="none" stroke="#ddd" stroke-width="20"></circle>
<circle cx="50" cy="50" r="40" fill="none" stroke="#1e9fff" stroke-width="20" stroke-dasharray="251.2" stroke-dashoffset="251.2">
<animate attributeName="stroke-dashoffset" dur="1s" from="251.2" to="50.24" fill="freeze" begin="0s"></animate>
</circle>
</svg>
```
解释一下代码:
- `viewBox="0 0 100 100"` 定义 SVG 视口大小为 100 x 100。
- 第一个 `circle` 元素是灰色的底部圆环,它的 `cx` 和 `cy` 属性定义了圆心的位置,`r` 属性定义了半径,`stroke-width` 定义了圆环的线宽。
- 第二个 `circle` 元素是蓝色的进度圆环,它的 `stroke` 属性定义了圆环的颜色,`stroke-dasharray` 属性定义了虚线的样式,`stroke-dashoffset` 属性定义了起始偏移量。这个属性的值是底部圆环的周长(2 * π * r)。
- 在第二个 `circle` 元素中,我们使用了 `<animate>` 元素来定义动画效果。`attributeName` 属性定义了要进行动画的属性名,我们这里是 `stroke-dashoffset`。`dur` 属性定义了动画的持续时间,这里是 1 秒。`from` 属性定义了起始值,这里是底部圆环的周长。`to` 属性定义了结束值,这里是进度为 80% 时的周长(251.2)。`fill` 属性定义了动画结束后是否保持属性值,这里是 `freeze`。`begin` 属性定义了动画开始的时间,这里是 `0s`,表示从开始就执行动画。
以上代码可以在 HTML 文件中使用,也可以在 CSS 文件中作为 `background-image` 来使用。如果您需要不同的进度效果,可以修改 `stroke-dasharray` 和 `to` 属性的值即可。
阅读全文