svg实现渐变进度圆环
效果图
<!DOCTYPE html>
<html lang="zh-CN">
<head>
    <meta charset="utf-8">
    <title>svg 圆形进度条</title>
    <meta http-equiv="X-UA-Compatible" content="IE=Edge">
    <style>
    body {
        margin: 0;
        padding: 0;
        font-family: Arial, "微软雅黑", "宋体", sans-serif;
        background: #e6eaeb;;
    }
    .alert-box {
        position: relative;
        display: block;
        width: 286px;
        margin: 96px auto 0;
        padding: 180px 85px 22px;
        text-align: center;
        color: #fff;
        border-radius: 10px 10px 0 0;
        background: #fff;
        box-shadow: 5px 9px 17px rgba(102, 102, 102, .75);
    }
    .alert-box p {
        margin: 0;
    }
    .alert-circle {
        position: absolute;
        top: -50px;
        left: 130px;
    }
    .alert-sec-circle {
        transition: stroke-dashoffset .2s linear;
        /* stroke-dashoffset: -440; */
        stroke-dasharray: 735;
    }
    .alert-sec-unit {
        font-size: 34px;
    }
    #circle-txt {
        position: absolute!important;
        bottom: 137px;
        left: 172px;
        width: 102px;
        font-size: 40px;
        text-align: center;
    }
    </style>
    <meta name="viewport" content="width=device-width,minimum-scale=1.0,maximum-scale=1.0">
</head>
<body>
    <div id="js-alert-box" class="alert-box">
        <svg class="alert-circle" width="180" height="180">
            <defs>
                <lineargradient id="linear" x1="0%" y1="0%" x2="100%" y2="0%">
                    <stop offset="0%" stop-color="#F2412A"></stop>
                    <stop offset="100%" stop-color="#FFD000"></stop>
                </lineargradient>
            </defs>
            <circle cx="90" cy="90" r="78" fill="#3BA7F3" stroke="url(#linear)" stroke-width="8"></circle>
            <circle cx="90" cy="90" id="js-sec-circle" class="alert-sec-circle" r="78" fill="transparent" stroke="#F4F1F1" stroke-width="9" transform="rotate(-90 90 90)"></circle>
        </svg>
        <div id="circle-txt">
            100%
        </div>
    </div>
</body>
<script>
setProgress(70);
function setProgress(num, r = 78) {
    document.getElementById('circle-txt').innerHTML = num + '%';
    document.getElementById('js-sec-circle').setAttribute('stroke-dashoffset', -2 * Math.PI * r * num / 100);
}
</script>
</html>
致谢参考
敬请参考 https://github.com/jasonChen2014/svgProgessBar/blob/master/index.html
svg实现渐变进度圆环的更多相关文章
- iOS圆弧渐变进度条的实现
		由于项目需要一个环形渐变进度条显示课程,这方便网上的确有很多相关资料但是,都是比较零散的而且,大多数只是放一堆代码就算完了.这里我想详细写一篇我自己实现这个进度条的过程. 实现一个圆弧进度条主要分为三 ... 
- 类似 Dribbble 下载按钮的 SVG 弹性动画进度条
		Codrops 发布了一个如何创建一个基于弹性效果的 SVG 加载进度条教程,基于 SVG 和 TweenMax 实现.按钮开始的时候是一个带有箭头的图标,一旦它被点击,动画成一个有趣的小金属丝和一个 ... 
- 【iOS】环形渐变进度条实现
		之前有人在找渐变进度条的效果,闲来无事就顺手写了一个,然后画了视图层级,方便讲解. 环境信息: Mac OS X 10.10.3 Xcode 6.3.1 iOS 8.3 效果图: 源码下载地址: ht ... 
- 自定义控件之圆形颜色渐变进度条--SweepGradient
		前几天在群里面有人找圆形可颜色渐变进度条,其中主要的知识点是SweepGradient: mSweepGradient = new SweepGradient(240, 360, new int[] ... 
- svg和css3创建环形渐变进度条
		在负责的项目中,有一个环形渐变读取进度的效果的需求,于是在网上查阅相关资料整理一下.代码如下: <!DOCTYPE html> <html lang="en"&g ... 
- canvas锥形渐变进度条
		从一个渐变圆角进度条浅出画一个圆 开始 这一切需要从一个(简单)的需求开始,在最开始对设计第一眼看到这张图的时候,感觉挺简单的嘛,直接用echarts饼图模拟出来一个就好了 echarts 然后上ec ... 
- SVG:linearGradient渐变在直线上失效的问题解决方案
		SVG开发里有个较为少见的问题. 对x1=x2或者y1=y2的直线(line以及path),比如: <path d="M200,10 200,100" stroke=&quo ... 
- iOS 渐变进度条
		#import <UIKit/UIKit.h> @interface JianBianView : UIView //为了增加一个表示进度条的进行,可们可以使用mask属性来屏蔽一部分 @ ... 
- iOS开发——自定义进度圆环
		1.在DrawCircle.h文件中 提供了接口,在使用的时候,可以设定圆心.半径.角度.圆环的宽度.圆环的背景底色.圆环的进度条颜色,当然后面三个有自定义的值. // // DrawCircle. ... 
随机推荐
- Berry 指令设计
			Berry 脚本源代码需要被编译为字节码指令流才能被 Berry 虚拟机执行.本文将详细地讲解 Berry 字节码指令(下面简称指令)的设计和实现.为了达到这个目的,本文由 3 部分构成:第 1 小节 ... 
- cross compile 交叉编译 ffmpeg
			ffmpeg 支持各种压缩格式的视频解码库,经常出现在各种播放器中,交叉编译也是一项麻烦的事情. 1. 下载ffmpeg 源码包 http://ffmpeg.org/releases/ffmpeg ... 
- fedora 28 winscp链接不上
			systemctl restart sshd.service //启动sshd服务 systemctl stop firewalld //关闭防火墙 /etc/selinux/config //关闭s ... 
- php导出csv并保存在服务器,返回csv的文件路径
			<?php namespace app\common\controller; use think\Controller; use think\Db; class Csv extends Cont ... 
- 爬虫那些事儿--Http返回码
			由于爬虫的抓取也是使用http协议交互.因此需要了解Http的各种返回码所代表的意义,才能判断爬虫的执行结果. 返回码如下: 100 Continue 初始的请求已经接受,客户应当继续发送请求的其余部 ... 
- IconFont 图标的3种引用方式
			第一步:进入阿里巴巴矢量图网站:http://www.iconfont.cn/ 阿里巴巴矢量图 第二步:搜索你分类的关键字---然后加入购物车,下载到本地,然后解压,会将合并后的字体文件及自动生成 ... 
- __str__方法
			"""str()就是可以自定义输出返回值,必须是str字符串""" class Dog: def __init__(self, name): ... 
- CF838C(博弈+FWT子集卷积+多项式ln、exp)
			传送门: http://codeforces.com/problemset/problem/838/C 题解: 如果一个字符串的排列数是偶数,则先手必胜,因为如果下一层有后手必赢态,直接转移过去,不然 ... 
- delphi directui 做界面的一个例子
			现在很多CS系统或者软件界面都做的非常好看,比如:QQ皮肤,迅雷下载,360杀毒界面等.这些都是运用的流行的DIRECTUI 技术,基本上有的资料都是基于C++的,很少有同仁将C++下的DIRECT ... 
- 其它课程中的python---2、NumPy模块
			其它课程中的python---2.NumPy模块 一.总结 一句话总结: numpy在数组计算方面又快又方便 1.NumPy中的ndarray是一个多维数组对象,该对象由哪两部分组成? -实际的数据 ... 
 
			
		