看到一些高大上的进度条插件,然后想自己用CSS写。经过搜索资料之后,终于成功了。为了以后方便拿来用,或者复习。将代码贴出。

HTML代码:

只需要两个div,外面的为一个有border的div id为wd ,然后包裹一个小div id为percent,height为100%,宽度为wd的百分比(相对于父容器,percent的父容器为wd,如wd的宽度width为100px,percent的width设置为50%就是100*50%=50px)

<div class="wd">
<div class="percent"></div>
</div>

CSS的代码如下:(兼容性需要考虑,因为懒就没有考虑到兼容性了,在Chrome 运行没问题)

.wd{
width: 100%;
height: 20px;
background: #f5f5f5;
border: 1px solid #9d9d9d;
margin-bottom: 40px;
border-radius: 4px;
overflow: hidden;
-webkit-box-shadow:inset 0 1px 2px rgba(0, 0, 0, .1);
-moz-box-shadow: inset 0 1px 2px rgba(0, 0, 0, .1);
box-shadow: inset 0 1px 2px rgba(0, 0, 0, .1);
}
.percent{
background: #337ab7;
background-image: linear-gradient(-45deg,//这里为渐变
rgba(255,255,255,.2) 25%,
transparent 25%,
transparent 50%,
rgba(255,255,255,.2) 50%,
rgba(255,255,255,.2) 75%,
transparent 75%);
background-size: 18px 18px;//该值后面的 请设置为进度条的高度因为有border 所以为18px
height: 100%;
width: 40%;//表示进度条在40%的位置
-webkit-animation: all 1.5s linear infinite;//动画
-o-animation: all 1.5s linear infinite;
animation: all 1.5s linear infinite; } @keyframes all {//动画设置
0%{
background-position: 0 0;
} 100%{
background-position: -10px -10px;
}
}

  HTML5画圆环:\

HTML:

 

 <canvas id="bg" class="bg" >
您的浏览器不支持 HTML5 canvas 标签。
</canvas>

CSS

        .bg{
width:300px ;height:300px;
border: 1px solid red;
}

JS代码:

 var c=document.getElementById("bg");
var ctx=c.getContext("2d");
// ctx.fillStyle = '#FF0000';
ctx.strokeStyle='#99CC33';
ctx.lineWidth=10.0;
// ctx.lineCap = 'square'; imd = ctx.getImageData(200 ,200 ,255, 200);
var drow= function (curr) {
ctx.putImageData(imd, 0, 0);
ctx.beginPath();
ctx.arc(95,60,50,-0.5*Math.PI,curr*2*Math.PI-0.5*Math.PI);
ctx.moveTo(95,60);
ctx.closePath();
ctx.stroke();
};
var t=0;
var lod= function (gos) {
var te=setInterval(function () {
if (t>gos){
clearInterval(te);
}else{
drow(t);
t+=0.01;
}
},5)
};
lod(0.8);

  JS:改动代码可以实现环形进度条

var c=document.getElementById("bg");
var ctx=c.getContext("2d");
var drow= function (curr) { ctx.clearRect(0,0, c.width, c.height);
ctx.beginPath();
ctx.strokeStyle='#333';
ctx.lineWidth=13;
ctx.arc(140,80,50,-0.5*Math.PI,1.5*Math.PI);
ctx.moveTo(140,80);
ctx.closePath();
ctx.stroke(); ctx.beginPath();
ctx.strokeStyle = '#99CC33';
ctx.lineWidth=10;
ctx.arc(140,80,50,-0.5*Math.PI,curr*2*Math.PI-0.5*Math.PI);
ctx.moveTo(140,80);
ctx.closePath();
ctx.stroke(); ctx.fillStyle="#f00";
ctx.font="30px abc";
text = Math.floor(curr*100)+"%";
text_w = ctx.measureText(text).width;
ctx.fillText(text,120,90);
};
var t=0;
var lod= function (gos) {
var te=setInterval(function () {
if (t>gos){ clearInterval(te);
}else{ t+=0.01;
drow(t);
} },5)
};
lod(0.9);

 最后附上Dome地址啦http://runjs.cn/detail/8p1gmf9b

CSS3进度条 和 HTML5 Canvas画圆环的更多相关文章

  1. 分享9款极具创意的HTML5/CSS3进度条动画

    1.HTML5/CSS3图片加载进度条 可切换多主题 今天要分享的这款HTML5/CSS3进度条模拟了真实的图片加载场景,插件会默认去从服务器下载几张比较大的图片,然后让该进度条展现当前读取图片的进度 ...

  2. 9款极具创意的HTML5/CSS3进度条动画(免积分下载)

    尊重原创,原文地址:http://www.cnblogs.com/html5tricks/p/3622918.html 免积分打包下载地址:http://download.csdn.net/detai ...

  3. 9款极具创意的HTML5/CSS3进度条动画

    今天我们要分享9款极具创意的HTML5/CSS3进度条动画,这些进度条也许可以帮你增强用户交互和提高用户体验,喜欢的朋友就收藏了吧. 1.HTML5/CSS3图片加载进度条 可切换多主题 今天要分享的 ...

  4. JS框架_(JQuery.js)纯css3进度条动画

    百度云盘 传送门 密码:wirc 进度条动画效果: <!DOCTYPE html> <html lang="zh"> <head> <me ...

  5. 超赞的CSS3进度条 可以随进度显示不同颜色

    原文:超赞的CSS3进度条 可以随进度显示不同颜色 现在的WEB已经不是以前的WEB了,传输更大的数据量,有着更加复杂的计算,这就需要利用进度条来提高用户体验,必要时可以让用户耐心等待,不至于因操作卡 ...

  6. css3 进度条

    <!DOCTYPE html><html> <head> <meta charset="UTF-8"> <title>1 ...

  7. JavaScript 以及 css3进度条

    JavaScript css3进度条 使用css3实现进度条 <!DOCTYPE html> <html lang="en"> <head> & ...

  8. CSS3进度条动画

    <!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <title&g ...

  9. 【常见】CSS3进度条Loading动画

    现在,GIF 格式的进度条已经越来越少,CSS 进度条如雨后春笋般涌现.CSS3的崛起,更使得动态效果得以轻松实现,未来,必定是CSS3的天下,所以今天我就来分享一下几个常见的CSS3进度条Loadi ...

随机推荐

  1. HDOJ-1671 Phone List

    Phone List Time Limit: 3000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Probl ...

  2. [agc014d] Black and White Tree(玄学树D)

    Description 有一颗n个点的树,刚开始每个点都没有颜色. Alice和Bob会轮流对这棵树的一个点涂色,Alice涂白,Bob涂黑,Alice先手. 若最后存在一个白点,使得这个白点所有相邻 ...

  3. [CODEVS2035]机票打折问题

    题目描述 Description .输入机票原价(3到4位的正整数,单位:元),再输入机票打折率(小数点后最多一位数字).编程计算打折后机票的实际价格(单位:元.计算结果要将个位数四舍五入到十位数“元 ...

  4. [LeetCode] Length of Last Word 字符串查找

    Given a string s consists of upper/lower-case alphabets and empty space characters ' ', return the l ...

  5. layui 自定义表单验证 以及提交表单

    订购数量</span> <span style="color: red">*</span>: <input type="text ...

  6. 安装聊天软件telegram-cli

    Telegram是一款加密通信的聊天软件,可以在linux,windows,android,chrome等运行.官方网址:https://telegram.org/ 它是有桌面版的,但作为一个linu ...

  7. HashMap和TreeMap的常用排序方法

    一.简单描述 Map是键值对的集合接口,它的实现类主要包括:HashMap,TreeMap,HashTable以及LinkedHashMap等. TreeMap:能够把它保存的记录根据键(key)排序 ...

  8. Linux一些防攻击策略

    来自http://www.imooc.com/learn/344

  9. AC日记——青蛙的约会 poj 1061

    青蛙的约会 POJ - 1061   思路: 扩展欧几里得: 设青蛙们要跳k步,我们可以得出式子 m*k+a≡n*k+b(mod l) 式子变形得到 m*k+a-n*k-b=t*l (m-n)*k-t ...

  10. mysql数据库基本操作(六)

    外键约束 创建外键 前面讲的表单查询都是一张表,但项目中表与表之间是有关联的,比如我们创建的学生表,他们可能在不同班级,不同班级有不同的班主任,他们之间的关系大概是这样的:每一个班主任会对应多个学生 ...