当前位置: 首页 > Web前端 > HTML5

svg和css3制作圆形渐变进度条

时间:2023-04-05 19:18:30 HTML5

*{padding:0;边距:0}.donut{位置:相对;}.circle_warp{位置:相对;顶部:0;左:0}.circle_bar{stroke-dasharray:942.4777960769379;//计算整个圆周长的公式为Circumstance=2*PI*Radius2*3.14*radius(此时半径为150)stroke-dashoffset:942.4777960769379;过渡:stroke-dashoffset1200mscubic-bezier(.99,.01,.62,.94);}.donut_svg{变换:旋转(-90deg);}.donut_copy{文本对齐:居中;宽度:340px;高度:340px;顶部:40%;左:0;位置:绝对;}.donut_title{不透明度:0;字体大小:42px;颜色:#171717;底部边距:2px;动画:donutTitleFadeLeft800ms200mscubic-bezier(.99,.01,.22,.94)向前;转换:translateX(0);字体粗细:粗体;}.donut_spic{内容:“%”;动画:donutTitleFadeRight800ms200mscubic-bezier(.99,.01,.22,.94)向前;不透明度:0;变换:平移Y(-20px);}.donut__textp{字体大小:16px;颜色:#AAAAAA;}@keyframesdonutTitleFadeLeft{来自{opacity:0;转换:translateX(0);}到{不透明度:1;转换:translateX(10px);}}@keyframesdonutTitleFadeRight{来自{opacity:0;转换:translateX(-30px);}至{不透明度:1;转换:translateX(0);}}在我负责的项目中,有需求需要用圆形渐变来读取进度的效果,于是上网查了相关资料,整理了一下。代码如下:Title%

*{padding:0;边距:0}.donut{位置:相对;}.circle_warp{位置:相对;顶部:0;左:0}.circle_bar{stroke-dasharray:942.4777960769379;//计算整个圆周长的公式为Circumstance=2*PI*Radius2*3.14*radius(此时半径为150)stroke-dashoffset:942.4777960769379;过渡:stroke-dashoffset1200mscubic-bezier(.99,.01,.62,.94);}.donut_svg{变换:旋转(-90deg);}.donut_copy{文本对齐:居中;宽度:340px;高度:340px;顶部:40%;左:0;位置:绝对;}.donut_title{不透明度:0;字体大小:42px;颜色:#171717;底部边距:2px;动画:donutTitleFadeLeft800ms200mscubic-bezier(.99,.01,.22,.94)向前;转换:translateX(0);字体粗细:粗体;}.donut_spic{内容:“%”;动画:donutTitleFadeRight800ms200mscubic-bezier(.99,.01,.22,.94)向前;不透明度:0;变换:平移Y(-20px);}.donut__textp{字体大小:16px;颜色:#AAAAAA;}@keyframesdonutTitleFadeLeft{来自{opacity:0;转换:translateX(0);}到{不透明度:1;转换:translateX(10px);}}@keyframesdonutTitleFadeRight{来自{opacity:0;转换:translateX(-30px);}至{不透明度:1;转换:translateX(0);}}原文地址:按照原思路修改代码实现的效果。有兴趣的可以看看http://www.techbrood.com/zh/n...