看效果先:http://sandbox.runjs.cn/show/b6bmksvn

参考:

jquery圆环百分比进度条制作

CSS clip:rect矩形剪裁功能及一些应用介绍

CSS clip:rect几个值含义示意实例页面

clip:rect下png通道透明下sprite图片定位实例页面

clip:rect图片剪裁效果预览实例页面

代码:

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
<style type="text/css">
* {
margin: 0;
padding: 0;
} .clip-wrap {
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
margin: auto;
width: 400px;
height:400px;
background-color: #ffb348;
border-radius: 50%;
}
.clip-wrap .left,.clip-wrap .right {
position: absolute;
top:0;
left:0;
width: 100%;
height:100%;
background-color: #cccccc;
border-radius: 50%;
-webkit-transition: all 0.5s linear;
}
.clip-wrap .left {
clip: rect(0 ,200px,400px,0);
}
.clip-wrap .right {
clip: rect(0 ,400px,400px,200px);
}
.mask {
position: absolute;
top:50%;
left:50%;
margin-left: -180px;
margin-top: -180px;
width:360px;
height:360px;
background-color: #fff;
border-radius: 50%;
line-height: 360px;
text-align: center;
font-size: 100px;
color: #ff9f40;
}
.left-wrap {
position: absolute;
top:0;
left:0;
width: 100%;
height:100%;
clip: rect(0 ,200px,400px,0);
}
.right-wrap {
position: absolute;
top:0;
left:0;
width: 100%;
height:100%;
clip: rect(0 ,400px,400px,200px);
}
</style>
</head>
<body>
<div class="clip-wrap">
<div class="left-wrap">
<div class="left"></div>
</div>
<div class="right-wrap">
<div class="right"></div>
</div>
<div class="mask">
<span class="num">0</span>%
</div>
</div>
<button>0%</button>
<button>10%</button>
<button>30%</button>
<button>50%</button>
<button>80%</button>
<button>100%</button>
</body>
<script>
function changeView(num) {
var deg = num * 3.6; // 把360度分成100份
document.querySelector('.num').textContent = num;
if(deg<180) {
document.querySelector('.left').style.webkitTransform = 'rotate('+(0)+'deg)';
document.querySelector('.right').style.webkitTransform = 'rotate('+deg+'deg)';
}else {
document.querySelector('.right').style.webkitTransform = 'rotate('+180+'deg)';
document.querySelector('.left').style.webkitTransform = 'rotate('+(deg-180)+'deg)';
}
}
var btn = document.querySelectorAll('button');
for(var i = 0,len = btn.length; i< len; i++) {
(function(i) {
btn[i].onclick = function() {
var num = parseInt(this.textContent); changeView(num);
}
})(i)
}
</script>
</html>

圆环进度css的更多相关文章

  1. 两种CSS3圆环进度条详解

    晚上睡觉之前,我抽了1个多小时,研究了一下圆环进度条,结合从网上查阅的资料,我终于掌握了两种圆环的生成方法. 这次的效果就是单纯的CSS3效果,也没有写具体的JS,等以后有时间在好好整理一下吧~. 第 ...

  2. canvas圆环进度

    CSS: <div class="circle"> <p><span id="loadedNum">0</span&g ...

  3. Vue/React圆环进度条

    数据展示,一直是各行各业乐此不疲的需求,具体到前端开发行业,则是各种各种图表数据展示,各种表格数据展示,烦不胜烦(繁不胜繁)! 前几天刚做了折线图.柱状图.饼状图之类的图表数据展示效果,今天又碰到了类 ...

  4. svg实现圆环进度条

    开源实现:https://github.com/lugolabs/circles 自行实现:圆环与svg画布间剩的空间太多. <!DOCTYPE html> <html> &l ...

  5. css3 制作圆环进度条

    引子 移动端做一个 loadiing 加载的图标,跟以往沿用的都不太一样,是一个圆环进度条,圆环进度条也就罢了,还得能用百分比控制. CSS3 实现圆环 demo 刚开始写这个圆环的时候是参照帖子上给 ...

  6. CSS3实现圆环进度条

    摘要:圆环进度条被应用于各个场景,比如我们可以用来表示加载进度等.通常我们可以用 css3 的动画去实现. 详解 css3 实现圆环进度条 简单的画一个圆环,我们都知道如何使用 css 画一个圆环.( ...

  7. canvas绘制百分比圆环进度条

    开发项目,PM会跟踪项目进度:完成某个事情,也可以设置一个完成的进度. 这里用canvas绘制一个简单百分比圆环进度条. 看下效果: 1. 动画方式   2. 静默方式   // 贴上代码,仅供参考 ...

  8. android 圆环进度view

    新建RoundProgressBar class RoundProgressBar : View { private val paint = Paint() var max = 100 //最大进度 ...

  9. 浅谈一下关于使用css3来制作圆环进度条

    最近PC端项目要做一个这样的页面出来,其他的都很简单,关键在于百分比的圆环效果.我最初打算是直接使用canvas来实现的,因为canvas实现一个圆是很简便的. 下面贴出canvas实现圆环的代码,有 ...

随机推荐

  1. DDD学习笔录——简介DDD的战略模式如何塑造应用程序的架构

    前一篇,简单介绍了DDD战略模式的提炼问题域,这篇简单介绍它如何塑造应用程序的架构. 1.创建一个模型以解决领域问题 为每一个子域构建一个软件模型以处理领域问题并让软件与业务保持一致. 这个模型并非现 ...

  2. object类型对象 ref参数如何理解?

    class Program { static void Main(string[] args) { Student stu = new Student { Name = "老王" ...

  3. JAVA基础知识总结11(异常)

    异常: 就是不正常.程序在运行时出现的不正常情况.其实就是程序中出现的问题.这个问题按照面向对象思想进行描述,并封装成了对象.因为问题的产生有产生的原因.有问题的名称.有问题的描述等多个属性信息存在. ...

  4. js原型及原型链

    一. 普通对象与函数对象  JavaScript 中,万物皆对象!但对象也是有区别的.分为普通对象和函数对象,Object ,Function 是JS自带的函数对象.下面举例说明 function f ...

  5. web网页 页面布局的几种方式(转)

    web网页 页面布局的几种方式 转载 2017年06月16日 12:19:40 2218 网页基本布局方式: (1)流式布局 Fluid 流布局与固定宽度布局基本不同点 就在于对网站尺寸的侧量单位不同 ...

  6. R: 正则表达式

    正则表达式: 例:sub("a","",c("abcd","dcba")):   [1] "bcd" ...

  7. WarTransportation TopCoder - 8404

    传送门 分析 我们高兴的发现数据范围特别小,所以我们可以随便搞.因为一共只砍掉一条路,所以我们先算出对于任意一个点如果将它的出边割掉一条则它到达终点的最坏情况的最短距离是多少,然后我们从终点向起点反着 ...

  8. Git 之 .gitignore 与版本

    .gitignore 以斜杠“/”开头表示目录: 以星号“*”通配多个字符: 以问号“?”通配单个字符 以方括号“[]”包含单个字符的匹配列表: 以叹号“!”表示不忽略(跟踪)匹配到的文件或目录: 版 ...

  9. JAVA隐藏鼠标的方法

    JAVA隐藏鼠标的方法 2012年06月03日 19:13:21 阅读数:2436 JAVA隐藏鼠标光标,可以有2种方法. 都是通过如下语句重新设置光标 Toolkit.getDefaultToolk ...

  10. 树莓派研究笔记(8)-- 编译lakka v2.1源码

    Lakka越玩越觉得强大.如果要是能自己修改一下代码,实现自定义的一些操作就更好了.还可以修复字体文件,修复在部分机器上自动更换Mac地址导致ip变化的问题. 所以我们来尝试编译这个系统.这篇文章几乎 ...