我的编程空间,编程开发者的网络收藏夹
学习永远不晚

CSS3怎么制作圆环形进度条

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

CSS3怎么制作圆环形进度条

这篇文章给大家介绍CSS3怎么制作圆环形进度条,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。

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

CSS Code复制内容到剪贴板

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

CSS3怎么制作圆环形进度条

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

CSS Code复制内容到剪贴板

  1. .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,我们先设置一个200x200的方块,然后我们在这里面完成我们的效果:

CSS Code复制内容到剪贴板

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

CSS3怎么制作圆环形进度条

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

XML/HTML Code复制内容到剪贴板

<div class="circleProgress_wrapper">  
        <div class="wrapper right">  
            <div class="circleProgress rightcircle"></div>  
        </div>  
        <div class="wrapper left">  
            <div class="circleProgress leftcircle"></div>  
        </div>  
 </div>

CSS Code复制内容到剪贴板

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

CSS3怎么制作圆环形进度条

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

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

CSS Code复制内容到剪贴板

  1. .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怎么制作圆环形进度条

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

CSS Code复制内容到剪贴板


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

CSS3怎么制作圆环形进度条

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

CSS Code复制内容到剪贴板

  1. .

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

CSS3怎么制作圆环形进度条

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

CSS Code复制内容到剪贴板

  1.   .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怎么制作圆环形进度条

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

CSS Code复制内容到剪贴板

    .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卫士清理垃圾时的类似效果,当然不是很像啦:

CSS Code复制内容到剪贴板

  1.     .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怎么制作圆环形进度条就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

CSS3怎么制作圆环形进度条

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

CSS3如何制作圆形滚动进度条动画

小编给大家分享一下CSS3如何制作圆形滚动进度条动画,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!内 容 先看一下效果图,会提升我们的学习兴趣哟:
2023-06-08

使用 css3怎么实现一个圆形进度条

使用 css3怎么实现一个圆形进度条?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。html代码
2023-06-08

android自定义view制作圆形进度条效果

还是我们自定View的那几个步骤: 1、自定义View的属性 2、在View的构造方法中获得我们自定义的属性 [ 3、重写onMesure ] 4、重写onDraw1、自定义属性:2022-06-06

java圆形进度条怎么实现

以下是一个简单的Java圆形进度条的实现代码:import java.awt.Color;import java.awt.Dimension;import java.awt.Graphics;import java.awt.Graphics
2023-05-13

android圆形进度条怎么实现

要实现一个圆形进度条,你可以使用`ProgressBar`控件来实现,并将其样式设置为圆形。首先,在布局文件中添加以下代码:```xmlandroid:id="@+id/progressBar"style="?android:attr/pr
2023-08-30

MFC圆形进度条怎么实现

MFC(Microsoft Foundation Class)是用于开发Windows应用程序的一套类库。要实现MFC圆形进度条,可以按照以下步骤进行:1. 创建一个MFC项目,包括一个对话框窗口。2. 在对话框资源上添加一个静态文本框和一
2023-08-20

怎么在css3中使用clip实现一个圆环进度条

这期内容当中小编将会给大家带来有关怎么在css3中使用clip实现一个圆环进度条,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。实现思路圆环很简单,一行cssborder-radius:50%即可实现,而且
2023-06-08

怎么用Android View实现圆形进度条

本篇内容主要讲解“怎么用Android View实现圆形进度条”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“怎么用Android View实现圆形进度条”吧!主要涉及到下面几个方法:// 画圆c
2023-06-20

Android使用Canvas绘制圆形进度条效果

前言 Android自定义控件经常会用到Canvas绘制2D图形,在优化自己自定义控件技能之前,必须熟练掌握Canvas绘图机制。本文从以下三个方面对Canvas绘图机制进行讲解: 画布Canvas 画笔Paint 示例圆形进度条画布Can
2022-06-06

css怎么实现环形循环进度条

css实现环形循环进度条的方法:1、创建一个最外层的父级圆环;2、通过“clip-path”画出两个半圆,并绝对定位覆盖在父级圆环;3、小于50时,通过旋转右半圆,慢慢透露出父级圆环的颜色;4、大于50时,设置右半圆旋转度数为0,修改其border颜色来实现前50的效果,其次再旋转左侧半圆即可达到效果。
2023-05-14

css怎么实现圆形渐变进度条效果

这篇文章给大家分享的是有关css怎么实现圆形渐变进度条效果的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。实现思路最外面是一个大圆(渐变色)内部里面绘制两个半圆,将渐变的圆遮住(为了看起来明显,左右两侧颜色不一样,
2023-06-08

Android中制作进度框和环形进度条的简单实例分享

进度框import android.content.Context; import android.graphics.Canvas; import android.graphics.Color; import android.grap
2022-06-06

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录