svg画圆形进度条

  1. 先用svg画圆

注意:cx cy 圆心和半径r的坐标点关系;一开始我cx cy 70,r70 然切边了

 <div class="circle">
      <svg width="160" height="160">
        <circle
          cx="80"
          cy="80"
          r="70"
          fill="transparent"
          stroke="#191919"
          stroke-width="4"
        ></circle>
      </svg>
    </div>
  1. 带背景色的环形进度条

<!-- 半径为70CM 的话 周长=2*3.14*70=439.6厘米 stroke-dasharray给个整数440  -->
    <div class="circle">
      <svg width="160" height="160" id="lu">
        <circle
          cx="80"
          cy="80"
          r="70"
          fill="transparent"
          stroke="#191919"
          stroke-width="4"
        ></circle>
        <circle
          id="hh"
          cx="80"
          cy="80"
          r="70"
          fill="transparent"
          stroke="#fee800"
          stroke-width="4"
          stroke-dasharray="440" //描边的点划线的图案
        ></circle>
      </svg>
    </div>

界面显示效果

  1. stroke-dashoffset: offset;相对于起始点的偏移,正数偏移x值的时候,相当于往左移动了x个长度单位,负数偏移x的时候,相当于往右移动了x个长度单位。

加个css,显示如下 
#hh {
      stroke-dashoffset: 20;
    }

这会你发现,咦?怎么是歪的,不是从最上面开始的,没关系,我们调整一下

 #lu{
        transform: rotate(270deg);
    }

就可以正常显示啦,对于想要逆向还是正向来说,只需要调整stroke-dashoffset为正数还是负数即可!

4,在开发当中,我们就可以依据圆的周长,数据总和,当前数据来计算出,需要显示的大小

例如:num=70,total=100;cicle=440

偏移量 = 440 - (440*70/100)

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值