用svg实现一个环形进度条

简介: 用svg实现一个环形进度条

svg实现环形进度条需要用到的知识:

1、会使用path的d属性画一个圆环

//用svg的path元素的A命令画圆
<path
    d="
        M cx cy
        m 0 -r 
        a r r 0 1 0 0 2r 
        a r r 0 1 0 0 -2r"
>
></path>
//cx cy起点   r  半径

2、熟悉stroke,stroke-linecap,stroke-width,stroke-dasharray、stroke-dashoffset

 

话不多说,直接上代码

<div style="width: 200px;height: 200px;">
    <svg viewBox="0 0 100 100">
        <path
            d="M 50 50 m -40 0 a 40 40 0 1 0 80 0  a 40 40 0 1 0 -80 0"
            fill="none"
            stroke="#e5e9f2"
            stroke-width="5">
        ></path>
        <path
            d="M 50 50 m -40 0 a 40 40 0 1 0 80 0  a 40 40 0 1 0 -80 0"
            fill="none"
            stroke="#20a0ff"
            stroke-linecap="round"
            class="my-svg-path"
            transform="rotate(90,50,50)"
            stroke-width="5">
        </path>
    </svg>
</div>
.my-svg-path{
    stroke-dasharray: 252.2px, 252.2px;
    stroke-dashoffset: 22px;
    transition: stroke-dashoffset 0.6s ease 0s, stroke 0.6s ease 0s;
    transform: rotateZ(90deg);
    transform-origin: 50% 50%;
}

效果:


相关文章
|
1月前
|
Web App开发 移动开发 前端开发
SVG
这段代码将引用刚才定义的圆形,并将其放置在(20,20)的位置,大小为60x60。 除了<svg>和<use>元素外,SVG还提供了许多其他的元素和属性,可以帮助你创建各种复杂的图形。比如<rect>、<line>、<polygon>等元素,可以用来创建矩形、线条和多边形等。
19 0
|
26天前
|
XML 移动开发 前端开发
Canvas和SVG:你应该选择哪一个?
Canvas和SVG:你应该选择哪一个?
23 2
|
5月前
|
XML 前端开发 JavaScript
canvas 和 svg 的区别是什么
canvas 和 svg 的区别是什么
23 0
|
7月前
|
XML 前端开发 JavaScript
SVG的介绍与简单案例
SVG的介绍与简单案例
90 0
|
4月前
|
XML 移动开发 前端开发
Canvas和SVG有什么区别?
Canvas和SVG有什么区别?
30 1
|
5月前
|
前端开发
canvas 和 svg 的区别是什么?
canvas 和 svg 的区别是什么?
13 0
|
8月前
|
XML 前端开发 JavaScript
Canvas 与 SVG 区别
Canvas 与 SVG 区别
90 0
|
前端开发
你可以学会的svg动画
你可以学会的svg动画
|
XML 前端开发 JavaScript
Day26 - Canvas 与 SVG的区别
Day26 - Canvas 与 SVG的区别
103 0
|
XML 编解码 前端开发