环形进度条效果怎么实现?用css3实现环形进度条效果代码示例

上一篇文章我们介绍了如何使用css3实现条形进度条效果(附完整代码),了解到进度条的实用性,那么今天来向大家介绍一下另外一种形式的进度条:环形进度条。

这种进度条适合应用于页面加载的时候和环形计时器的页面。本篇文章给大家带来的内容是关于如何使用css3实现环形进度条效果,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。

如何使用css3实现条环进度条效果原理

首先我们需要画出圆形进度条,但是div格式都是方形的,这就需要用到border-radius将方形转换成圆形。

圆形的进度条一直处于旋转的状态,我们可以引用css3里面的rotage(deg)语句实现这一效果。

立即学习“前端免费学习笔记(深入)”;

    3.这里我们详细梳理一下rotage(deg)的用法       

                  a.旋转:1.rotateX(deg) //绕x轴旋转 

                                2.rotateY(deg) //绕Y轴旋转 

                                 3. rotateZ(deg) //绕Z轴旋转

                  b.平移:translate(a,b) //在x,y方向平移a,b像素距离。利用translate(-50%,50%)可以实现居中。 

                                translateX(a) //在X方向平移a的像素距离。 

                                translateY(a)//在Y方向平移a的像素距离。 

                                translateZ(a)//在Z方向平移a的像素距离。

如何使用css3实现条环进度条效果步骤(代码)

步骤一:HTML部分

//percent小于50时需要使用遮罩进行遮挡超出环形范围部分
剩余
'+circleData.percent+'%

步骤二:css部分

.progress_wrap{                   position: relative;                   margin:0 0 0 .14rem;                   width:.92rem;height:.92rem;                   //little和more用来展示黄色和绿色的效果                   &.little{                       .under{                           .rightcircle,.leftcircle{                               border-top:$progress_border_under_little;                           }                           .rightcircle{                               border-right:$progress_border_under_little;                           }                           .leftcircle{                               border-left:$progress_border_under_little;                           }                       }                       .up{                           .rightcircle,.leftcircle{                               border-top:$progress_border_up_little;                           }                           .rightcircle{                               border-right:$progress_border_up_little;                           }                           .leftcircle{                               border-left:$progress_border_up_little;                           }                       }                       //用遮挡实现左侧剩余百分比,遮住超出环形范围部分;核心是使用同心圆进行边框进行遮挡                       .up_left_cover{                           width:.47rem;height:.92rem;                           .leftcircle{                               top:-.02rem;                               width:.74rem;height:.74rem;                               border:.11rem solid transparent;                               border-top:$progress_border_up_left_cover_little;                               border-left:$progress_border_up_left_cover_little;                               //实际值为195deg,被遮挡环颜色值深有光晕,需要将角度进行微调(-191deg)                               进行完全遮挡                               -webkit-transform:rotate(-191deg);                           }                       }                   }                   &.more{                       .under{                           .rightcircle,.leftcircle{                               border-top:$progress_border_under;                           }                           .rightcircle{                               border-right:$progress_border_under;                           }                           .leftcircle{                               border-left:$progress_border_under;                           }                       }                       .up{                           .rightcircle,.leftcircle{                               border-top:$progress_border_up;                           }                           .rightcircle{                               border-right:$progress_border_up;                           }                           .leftcircle{                               border-left:$progress_border_up;                           }                       }                   }                   .right,.left{                       position: absolute;top:0;overflow:hidden;                       width:.46rem;height:.92rem;                       .circleProgress{                           position: absolute; top:0;                           width: .78rem; height: .78rem;                           border:.07rem solid transparent; border-radius: 50%;                       }                       .rightcircle{                           right:0;                           -webkit-transform: rotate(15deg);                       }                       .leftcircle{                           left:0;                           -webkit-transform: rotate(-15deg);                       }                   }                   .right{                       right:0;                   }                   .left{                       left:0;                   }                   .num{                       position: absolute;left:50%;top:50%;                       width:.5rem;                       transform:translate(-50%,-50%);                       font-size:.12rem;color:$public_auxiliary_col;text-align:center;line-height:.26rem;                   }               }

步骤三:js部分

function giftCircleProgressFn(per){            var circleData = {};            var percent = parseInt(per);            //领取进度环形颜色className            var halfClassName = percent<50?"little":"more";            //左半环遮罩层显示样式状态            var leftCircleDisplay = percent<50?"block":"none";            var leftRotate = 0;            var rightRotate = 0;            //以50%为界限;50%:左半圆占比100%,右半圆直接使用百分比计算所占部分即可            //注意:在半圆中计算百分比时,要将百分比乘以2。            if(percent<50){                leftRotate = -15-180+150*(percent*2)/100;                   rightRotate = -135;            }else{                leftRotate = -15;                rightRotate = -135+(150*((percent-50)*2)/100);   //比例在半环计算需要*2倍            }            circleData = {                leftRotate:leftRotate,  //左半环进度                rightRotate:rightRotate, //右半环进度                halfClassName:halfClassName, //50% 进度环 变色                leftCircleDisplay:leftCircleDisplay, //左半环遮罩                percent:per  //进度百分比            }            return circleData        }

实现效果如图所示

20170812145357174.gif

以上就是环形进度条效果怎么实现?用css3实现环形进度条效果代码示例的详细内容,更多请关注创想鸟其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/1612159.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2025年12月24日 02:48:10
下一篇 2025年12月24日 02:48:26

相关推荐

  • 如何使用css3实现条形进度条效果(附完整代码)

    在音乐和视频播放的时候,不止可以直接查看播放时间,也可以通过观察进度条来查看播放时间,观察进度条这种方法会更加直观的告诉用户还有多久结束,所以进度条是一种非常实用的特殊效果。本文在介绍如何使用css3实现进度条效果的基础上,重点探讨了其具体步骤,本文内容紧凑,希望大家可以有所收获。 使用css3实现…

    好文分享 2025年12月24日
    000
  • 如何使用纯CSS实现电源开关控件(附源码)

    本篇文章给大家带来的内容是关于如何使用纯css实现电源开关控件(附源码),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。 效果预览 源代码下载 https://github.com/comehope/front-end-daily-challenges 代码解读 定义 dom,包含 …

    2025年12月24日
    000
  • 如何使用HTML5+css3制作出12种常用的按钮开关样式(附完整代码)

    现如今前端网页的开发越来越注重设计感,这些设计感更体现在细节处,今天向大家具体介绍一下各式各样的开关按钮是如何使用html5+css3制作出来的,希望可以帮到大家。 使用HTML5+css3制作按钮开关的原理 根据设计的要求填充各种颜色。 按钮开关的形状需要具体问题具体分析,如圆形按钮开关需要用到b…

    2025年12月24日
    000
  • 如何使用css3实现字体内发光效果(详解)

    在互联网日益发展的当今社会,人们对于网页用户体验的要求越来越苛刻,这就催生了更多的特殊效果的衍生,比如阴影效果,发光效果等,那么本文将向大家介绍一下如何使用css3实现字体发光的特殊效果,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。 使用css3实现字体发光效果原理 首先我们要输入…

    2025年12月24日
    000
  • 如何使用css3实现文字的单阴影效果和多重阴影效果(附完整代码)

    最近几年在web网页开发的过程中越来越在意人机交互和用户体验,不仅颜色更加的多样化,而且各种特殊效果也是让人目不暇接。今天主要向大家介绍一下在文本里如何实现阴影的特殊效果,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。 使用css3实现文本阴影效果的原理 实现阴影效果主要是用text…

    2025年12月24日
    000
  • CSS3中的pointer-events属性介绍

    本章给大家介绍一个css3中超实用的属性:css3 pointer-events属性。有一定的参考价值,有需要的朋友可以参考一下,希望对你们有所帮助。 最近发现了一个叫pointer-events的css属性,是一个与javascript有关的属性,pointer-events直译为指针事件,当把值…

    好文分享 2025年12月24日
    000
  • 如何使用css3制作圆形旋转动画(附完整代码)

    随着css3的广泛应用,人们浏览的web网页越来越多元化,而前端开发者也越来越注重人机交互和用户体验。从一开始的文字到后来的图片,以至于现在的动画特效,人们对于网页的要求也越来越挑剔,那么今天给大家展示一下如何使用css3制作旋转动画。本文在介绍如何使用css3制作旋转动画的基础上,重点探讨了其具体…

    2025年12月24日
    000
  • css3如何添加文字阴影效果?text-shadow设置文字阴影效果

    阴影效果是一个常见也很实用的效果,相信有些朋友在使用阴影效果来美观网页页面时,有时会有一些疑问,比如:字体文字阴影是怎样设置的等等。那么本章就给大家谈谈css3是如何设置字体文字阴影的。有一定的参考价值,有需要的朋友可以参考一下,希望对你们有所帮助。 其实在css3中有一个很实用的属性可以给字体文字…

    2025年12月24日
    000
  • 如何使用CSS3实现弹性盒子布局方式

    传统的布局方案是依据float,display和position的盒子模型,随着开发语言的完善,弹性盒布局模型成为web开发人员工具箱中的一个很好的工具,因为摈弃了传统盒子复杂的设置并且可以很完美的契合开发者对于页面兼容性的要求,即当页面需要适应不同的屏幕大小以及设备类型时依然可以确保元素拥有恰当的…

    2025年12月24日 好文分享
    000
  • css3文字怎么描边?css3字体描边的实现方法

    在网页中有时会看到文字的轮廓都用边描绘出来,这其实就是字体的描边,以前为文字描边可能都会需要借助ps之类的工具,但是自从css3出现以后,文字的描边就不需要借助其他工具就可以直接实现了,所以,接下来这篇文章就来给大家分享关于css3实现字体描边的方法。 推荐手册:CSS在线手册 首先我们来看一看cs…

    2025年12月24日 好文分享
    000
  • 如何使用css3实现图片的自动轮播特效(附完整代码)

    本文在介绍如何使用css3实现图片的轮播特效的基础上,重点探讨了其具体步骤,本文内容紧凑,希望大家可以有所收获。 大家在浏览网页的过程中,会遇见一种名叫图片轮播的特殊效果:在同样的位置不同的图片会根据时间的变化循环播放,达到一种类似于播放幻灯片的效果。那么我们在网页开发的过程中如何实现图片的轮播特效…

    2025年12月24日
    000
  • 如何使用css3画三角形?css3实现三角形的画法原理介绍

    css的出现让网页有了更多的风格,尤其是css3的应用,让网页呈现了更多好看的效果,那么,css3中可以有哪些效果呢?今天的这篇文章就来教大家如何使用css3画出一个三角形?话不多说,让我们来直接看正文。 首先看一下css3画三角形的原理 我们先来看一段代码: 当我们设置一个div其width与he…

    2025年12月24日 好文分享
    000
  • css3的颜色线性渐变属性:几种颜色之间的平稳过渡(附完整代码)

    当下web网页开发的过程中更多在意的是人机交互和用户体验,最直观的体现在网页色彩的多样化上面。本篇文章给大家带来的内容是关于如何使用css3实现颜色线性渐变属性,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。 手册推荐:css学习手册 使用css3实现线性渐变的简介 css3中定义了…

    2025年12月24日
    000
  • css3如何设置文字阴影?css3用text-shadow设置文字阴影的方法

    css3中有很多的属性用起来都是非常的方便简洁,所以,今天的这篇文章就来给大家介绍一个css3中的text-shadow属性,这个属性可以为字体添加阴影, 通过为text-shadow属性设置相关的属性值。下面我们就来看一看css3用text-shadow设置文字阴影的具体内容。 首先我们来详细的看…

    2025年12月24日
    000
  • CSS3新属性currentColor的使用与兼容性介绍

    本章给大家说说css3新属性currentcolor的使用以及currentcolor属性的兼容性。有一定的参考价值,有需要的朋友可以参考一下,希望对你们有所帮助。 currentColor顾名思意就是“当前颜色”,准确讲应该是“当前的文字颜色”,例如: .xxx { border: 1px sol…

    好文分享 2025年12月24日
    000
  • 如何使用CSS的Grid布局实现小狗邮票(附源码)

    本篇文章给大家带来的内容是关于如何使用css的grid布局实现小狗邮票(附源码),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。 效果预览 源代码下载 https://github.com/comehope/front-end-daily-challenges 代码解读 定义 dom…

    2025年12月24日
    000
  • 如何使用css3新增属性content?content属性的使用(代码实例)

    本章给大家介绍如何使用css3新增属性content?content属性的使用(代码实例),详解css3 content(内容)属性,让大家知道如何利用content属性如何插入清除浮动,插入内容。有一定的参考价值,有需要的朋友可以参考一下,希望对你们有所帮助。 一、详解content属性 1、co…

    2025年12月24日 好文分享
    000
  • 如何使用CSS的Grid布局实现小鸡邮票(附代码)

    本篇文章给大家带来的内容是关于如何使用css的grid布局实现小鸡邮票(附代码),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。 效果预览 源代码下载 https://github.com/comehope/front-end-daily-challenges 代码解读 定义 dom…

    2025年12月24日
    000
  • 如何使用CSS的Grid布局实现小松鼠邮票的效果(附源码)

    本篇文章给大家带来的内容是关于如何使用css的grid布局实现小松鼠邮票的效果(附源码),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。 效果预览 源代码下载 每日前端实战系列的全部源代码请从 github 下载: https://github.com/comehope/front-…

    2025年12月24日
    000
  • 如何使用纯CSS实现文本的淡入动画效果(附源码)

    本篇文章给大家带来的内容是关于如何使用纯css实现文本的淡入动画效果(附源码),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。 效果预览 源代码下载 https://github.com/comehope/front-end-daily-challenges 代码解读 定义 dom,…

    2025年12月24日
    000

发表回复

登录后才能评论
关注微信