图解CSS3制作圆环形进度条的方法

圆环形进度条制作的基本思想还是画出基本的弧线图形,然后css3中我们可以控制其旋转来串联基本图形,制造出部分消失的效果,下面就来带大家学习图解css3制作圆环形进度条的方法

首先,当有人说你能不能做一个圆形进度条效果出来时,如果是静态完整圆形进度条,那么就很简单了:

.circleprogress{       width: 160px;       height: 160px;       border:20px solid red;       border-radius: 50%;   }

图解CSS3制作圆环形进度条的方法

然后就会说,这很简单嘛。但是如果不是完整圆形的呢?想了想:

.circleprogress{     width: 160px;     height: 160px;     border:20px solid red;     border-left:20px solid transparent;     border-bottom:20px solid transparent;     border-radius: 50%;   }

图解CSS3制作圆环形进度条的方法

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

然后还是会说,这个也不难啦。可是,如果不是刚好都是45度的倍数呢?

OK,我们先设置一个200×200的方块,然后我们在这里面完成我们的效果:

.circleProgress_wrapper{     width: 200px;     height: 200px;     margin: 50px auto;     position: relative;     border:1px solid #ddd;   }

图解CSS3制作圆环形进度条的方法

接下来我将在这个容器里再放两个矩形,每个矩形都占一半:

.wrapper{     width: 100px;     height: 200px;     position: absolute;     top:0;     overflow: hidden;   }   .rightright{     rightright:0;   }   .left{     left:0;   }

图解CSS3制作圆环形进度条的方法

这里重点说一下.wrapper 的overflow:hidden; 起着关键性作用。这两个矩形都设置了溢出隐藏,那么当我们去旋转矩形里面的圆形的时候,溢出部分就被隐藏掉了,这样我们就可以达到我们想要的效果。

从html结构也已看到,在左右矩形里面还会各自有一个圆形,先讲一下右半圆:

.circleProgress{     width: 160px;     height: 160px;     border:20px solid transparent;     border-radius: 50%;     position: absolute;     top:0;   }   .rightcircle{     border-top:20px solid green;     border-right:20px solid green;     rightright:0;   }

图解CSS3制作圆环形进度条的方法

可以看到,效果已经出来了,其实本来是一个半圆弧,但由于我们设置了上边框和右边框,所以上边框有一半溢出而被隐藏了,所以我们可以通过旋转得以还原:

.circleProgress{     width: 160px;     height: 160px;     border:20px solid transparent;     border-radius: 50%;     position: absolute;     top:0;     -webkit-transform: rotate(45deg);   }

图解CSS3制作圆环形进度条的方法

所以只要旋转自己想要的角度就可以实现任意比例的进度条。接下来把左半圆弧也实现,变成一个全圆:

.leftcircle{       border-bottom:20px solid green;       border-left:20px solid green;       left:0;   }

图解CSS3制作圆环形进度条的方法

紧接着,就是让它动起来,原理是这样的, 先让右半圆弧旋转180度,再让左半圆弧旋转180度 ,这样,两个半圆弧由于先后都全部溢出而消失了,所以看起来就是进度条再滚动的效果:

   .rightcircle{     border-top:20px solid green;     border-right:20px solid green;     rightright:0;     -webkit-animation: circleProgressLoad_right 5s linear infinite;   }   .leftcircle{     border-bottom:20px solid green;     border-left:20px solid green;     left:0;     -webkit-animation: circleProgressLoad_left 5s linear infinite;   }   @-webkit-keyframes circleProgressLoad_right{     0%{       -webkit-transform: rotate(45deg);     }     50%,100%{       -webkit-transform: rotate(225deg);     }   }   @-webkit-keyframes circleProgressLoad_left{     0%,50%{       -webkit-transform: rotate(45deg);     }     100%{       -webkit-transform: rotate(225deg);     }   }

图解CSS3制作圆环形进度条的方法

当然,我们只需要调整一下角度就可以实现反向的效果:

   .circleProgress{     width: 160px;     height: 160px;     border:20px solid transparent;     border-radius: 50%;     position: absolute;     top:0;     -webkit-transform: rotate(-135deg);   }   @-webkit-keyframes circleProgressLoad_right{     0%{       -webkit-transform: rotate(-135deg);     }     50%,100%{       -webkit-transform: rotate(45deg);     }   }   @-webkit-keyframes circleProgressLoad_left{     0%,50%{       -webkit-transform: rotate(-135deg);     }     100%{       -webkit-transform: rotate(45deg);     }   }

图解CSS3制作圆环形进度条的方法

好的,接下来就是奔向最终效果了,正如我们一开始看到的那样,有点像我们使用360卫士清理垃圾时的类似效果,当然不是很像啦:

  .circleProgress_wrapper{     width: 200px;     height: 200px;     margin: 50px auto;     position: relative;     border:1px solid #ddd;   }   .wrapper{     width: 100px;     height: 200px;     position: absolute;     top:0;     overflow: hidden;   }   .rightright{     rightright:0;   }   .left{     left:0;   }   .circleProgress{     width: 160px;     height: 160px;     border:20px solid rgb(232, 232, 12);     border-radius: 50%;     position: absolute;     top:0;     -webkit-transform: rotate(45deg);   }   .rightcircle{     border-top:20px solid green;     border-right:20px solid green;     rightright:0;     -webkit-animation: circleProgressLoad_right 5s linear infinite;   }   .leftcircle{     border-bottom:20px solid green;     border-left:20px solid green;     left:0;     -webkit-animation: circleProgressLoad_left 5s linear infinite;   }   @-webkit-keyframes circleProgressLoad_right{     0%{       border-top:20px solid #ED1A1A;       border-right:20px solid #ED1A1A;       -webkit-transform: rotate(45deg);     }     50%{       border-top:20px solid rgb(232, 232, 12);       border-right:20px solid rgb(232, 232, 12);       border-left:20px solid rgb(81, 197, 81);       border-bottom:20px solid rgb(81, 197, 81);       -webkit-transform: rotate(225deg);     }     100%{       border-left:20px solid green;       border-bottom:20px solid green;       -webkit-transform: rotate(225deg);     }   }   @-webkit-keyframes circleProgressLoad_left{     0%{       border-bottom:20px solid #ED1A1A;       border-left:20px solid #ED1A1A;       -webkit-transform: rotate(45deg);     }     50%{       border-bottom:20px solid rgb(232, 232, 12);       border-left:20px solid rgb(232, 232, 12);       border-top:20px solid rgb(81, 197, 81);       border-right:20px solid rgb(81, 197, 81);       -webkit-transform: rotate(45deg);     }     100%{       border-top:20px solid green;       border-right:20px solid green;       border-bottom:20px solid green;       border-left:20px solid green;       -webkit-transform: rotate(225deg);     }   }

可以看到,其实就是多了一些改变不同边框颜色的动画而已,这个就给大家自己去实践吧! 主要还是利用两个矩形来完成这么一个圆形进度条效果,特别注意overflow这条规则,起着关键作用。

以上就是图解CSS3制作圆环形进度条的方法的详细内容,更多请关注创想鸟其它相关文章!

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

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2025年12月23日 21:11:27
下一篇 2025年12月23日 21:11:40

相关推荐

  • css3多列及瀑布流效果示例代码

    这篇文章介绍css3多列及瀑布流效果示例代码 css3内容分块,多列效果(类似报纸版块排版): .p02{ /*count:内容分为几列,gap:内容与分割线的距离,rule:分割线样式*/ column-count:4; column-gap:30px; column-rule:5px outse…

    2025年12月23日
    000
  • 使用CSS3中calc()属性来以算式表达尺寸数值的说明

    本篇文章讲述使用css3中calc()属性来以算式表达尺寸数值的说明 calc()的用法十分巧妙,可以像我们在学校做数学应用题那样列式子来计算长度宽度等值,从而一定程度上实现自适应布局,下面我们就来介绍如何使用CSS3中的calc()属性来以算式表达尺寸数值 我们想要实现页面自适应布局时,通常因为m…

    好文分享 2025年12月23日
    000
  • 详解css3中matrix函数的使用方法

    下面小编就为大家带来一篇详解css3中matrix函数的使用方法。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧 scale(sx,sy)对应matrix(sx,0,0,sy,0,0)  拉伸 rotate(θ)对应matrix(cosθ,sinθ,-sinθ,cosθ…

    好文分享 2025年12月23日
    000
  • 移动端Web页面的CSS3 flex布局学习指南

    flexbox通常能让我们更好的操作他的子元素布局,这里稍微来提炼一下移动端web页面的css3 flex布局学习指南,需要的朋友可以参考下 1、开始使用flexbox布局的方法,代码如下: footer{ display:flex; } 立即学习“前端免费学习笔记(深入)”; 2、接下来为foot…

    好文分享 2025年12月23日
    000
  • CSS3中的box-flex弹性盒属性布局的示例介绍

    flex布局毫无疑问是当今web页面的最强大布局方式,box-flex弹性盒模型是其中的一个代表,这里我们就来以实例讲解css3中的box-flex弹性盒模型布局 box-flex是css3新添加的盒子模型属性,它的出现打破了我们经常使用的浮动布局,实现垂直等高、水平均分、按比例划分。但是它有一定的…

    2025年12月23日 好文分享
    000
  • 使用CSS3的图层阴影和文字阴影效果的详细介绍

    box-shadow图层阴影 box-shadow:阴影类型 X水平偏移(可取正负值) Y垂直偏移(可取正负值) 阴影大小 阴影扩展 阴影颜色值阴影类型可以省略,默认为外投影,当它的值为inset时,为内阴影效果。X水平偏移和Y垂直偏移可取正负值,当X为负值是投影在左边,为正时投影在右边。当Y为负值…

    2025年12月23日 好文分享
    000
  • 使用CSS3的ruby-position固定注音位置的用法示例介绍

    ruby-position能在样式上定制文字周围的注音位置,页面编码设置好以后可以用来制作各种语言之间的加注翻译效果,下面我们来看一下使用css3的ruby-position固定注音位置的用法示例: ruby-position 指定注意的位置时使用。 属性值1.before 注音文本会在基础文字上面…

    2025年12月23日 好文分享
    000
  • CSS3实现时间轴效果方法

    最近打开电脑就能看到极客学院什么新用户vip免费一个月,就进去看看咯,这里就不说它的课程怎么滴了,里面实战路径图页面看到了这个效果:  有点像时间轴的赶脚,而且每一块鼠标悬浮上去也有下拉效果展开介绍截图信息,就感觉效果还不错。但感觉这种效果貌似对于动态添加不是很灵活,因为高度不像宽度可以灵活的自适应…

    2025年12月23日
    000
  • CSS3实现可爱的小黄人动画示例代码

    每次看到css3动画就心痒痒想试一下,记得一个多月前看了白树哥哥的一篇博客,突然开窍,于是拿他提供的demo试了一下,感觉很棒!下图为demo提供的动画帧设计稿。 自己也想说搞一个DIY的动画出来,可是,会PS不一定会设计啊,我搞不出一套动画设计稿出来啊【抓狂】….于是乎,去了站酷网找找素材,我果然…

    2025年12月23日 好文分享
    000
  • CSS3制作缩略图的详细过程分析

    我们使用 border 属性来创建缩略图,具体内容如下 img { border: 1px solid #ddd; border-radius: 4px; padding: 5px; } 缩略图我们使用 border 属性来创建缩略图。@@##@@ 缩略图如何作为连接? a { display: i…

    2025年12月23日 好文分享
    000
  • CSS3实现iPhone滑动解锁功能代码示例

    该效果的主要实现思路是给文字添加渐变的背景,然后对背景进行裁剪,按文字裁剪(目前只有webkit内核浏览器支持该属性),最后给背景添加动画,即改变背景的位置,背景动画效果如下(gif录制时有卡顿,代码实现时不卡): 最终效果如下所示: 全部代码如下: p{ width:50%; margin:0 a…

    2025年12月23日
    000
  • CSS实现进度条和订单进度条的方法

    简单地效果图如下:     CSS实现进度条: html结构: 70% css样式: 立即学习“前端免费学习笔记(深入)”; #progress{ width: 50%; height: 30px; border:1px solid #ccc; border-radius: 15px; margin…

    2025年12月23日
    000
  • css3动画效果总结分析

    css3的动画功能有以下三种: 1、transition(过度属性)2、animation(动画属性)3、transform(2D/3D转换属性) 下面逐一进行介绍我的理解: 1、transition: 如-webkit-transition:color 1s; 立即学习“前端免费学习笔记(深入)”…

    2025年12月23日
    000
  • 纯CSS3鼠标滑过图片遮罩层动画特效

    简要教程 这是一款使用纯css3制作的鼠标滑过图片遮罩层动画特效。该特效中,当鼠标滑过或悬停在图片上面时,会在图片上出现遮罩层动画,展示出图片的描述信息和链接图标按钮。  使用方法 在页面中引入bootstrap样式文件和font-awesome字体图标文件。  HTML结构 该特效的HTML结构如…

    好文分享 2025年12月23日
    000
  • css3的过滤效果的简单示例

    下面小编就为大家带来一篇css3的过滤效果简单实例。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧 上面的图片就是css3新特性的滤镜效果,学会了这些那么我们这群爱美爱帅的大web是不是就可以完美的用代码实现照片美化了捏~~ 好,咱们先把照片后面的白框实现, #p1{ …

    2025年12月23日
    000
  • 如何用CSS3做星体

    制作原理:在我的上一篇随笔中有详细的说明,由于这个方法制作的球,比较耗性能,就只做了3个小球,效果大家可以试验。  * { padding: 0; margin: 0; }body { background-color: black; }.taiYang { width: 80px; height:…

    好文分享 2025年12月23日
    000
  • CSS3实现文字波浪线效果

    前言 css的设计之巧妙,实现之精妙,细细寻味,其妙非凡,妙不可言。这波浪线,取巧的运用了linear-gradient属性,合角度、颜色、位置于一体,配合background-size,background-repeat,化一为多,平滑过渡。哇,这最后的效果太巧秒了!尘世间没有词来形容了……   …

    2025年12月23日 好文分享
    000
  • 利用纯CSS3实现tab选项卡切换示例

    先来看看效果图 CSS3伪类target利用target的特性,可以实现纯css的tab效果切换 示例代码如下 代码如下: .tabmenu{ position:absolute; top:-28px; left:144px; margin:0px; } .tabmenu li{ display:i…

    2025年12月23日
    000
  • CSS3按钮鼠标悬浮实现光圈效果

    这篇文章运用实例代码给大家介绍了利用css3如何实现按钮鼠标悬浮光圈效果,有需要的朋友们可以参考学习,下面来一起看看吧。 1 、HTML相关知识点   HTML(超文本标记语言)是网页的核心、首先你要学会,不要害怕,HTML很容易学习的,刚开始多记多练,但是到最后还是要自己深入专研,简单的入门是很快…

    好文分享 2025年12月23日
    000
  • CSS3把图片变成灰色模式的实例

    这篇文章给大家分享了如何利用css3把图片变成灰色模式的效果,实现起来很简单,有需要的朋友们可以参考借鉴。 实例代码: 代码如下: .gray { -webkit-filter: grayscale(100%); -moz-filter: grayscale(100%); -ms-filter: g…

    好文分享 2025年12月23日
    000

发表回复

登录后才能评论
关注微信