CSS3进度条 和 HTML5 Canvas画圆环
看到一些高大上的进度条插件,然后想自己用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画圆环的更多相关文章
- 分享9款极具创意的HTML5/CSS3进度条动画
1.HTML5/CSS3图片加载进度条 可切换多主题 今天要分享的这款HTML5/CSS3进度条模拟了真实的图片加载场景,插件会默认去从服务器下载几张比较大的图片,然后让该进度条展现当前读取图片的进度 ...
- 9款极具创意的HTML5/CSS3进度条动画(免积分下载)
尊重原创,原文地址:http://www.cnblogs.com/html5tricks/p/3622918.html 免积分打包下载地址:http://download.csdn.net/detai ...
- 9款极具创意的HTML5/CSS3进度条动画
今天我们要分享9款极具创意的HTML5/CSS3进度条动画,这些进度条也许可以帮你增强用户交互和提高用户体验,喜欢的朋友就收藏了吧. 1.HTML5/CSS3图片加载进度条 可切换多主题 今天要分享的 ...
- JS框架_(JQuery.js)纯css3进度条动画
百度云盘 传送门 密码:wirc 进度条动画效果: <!DOCTYPE html> <html lang="zh"> <head> <me ...
- 超赞的CSS3进度条 可以随进度显示不同颜色
原文:超赞的CSS3进度条 可以随进度显示不同颜色 现在的WEB已经不是以前的WEB了,传输更大的数据量,有着更加复杂的计算,这就需要利用进度条来提高用户体验,必要时可以让用户耐心等待,不至于因操作卡 ...
- css3 进度条
<!DOCTYPE html><html> <head> <meta charset="UTF-8"> <title>1 ...
- JavaScript 以及 css3进度条
JavaScript css3进度条 使用css3实现进度条 <!DOCTYPE html> <html lang="en"> <head> & ...
- CSS3进度条动画
<!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <title&g ...
- 【常见】CSS3进度条Loading动画
现在,GIF 格式的进度条已经越来越少,CSS 进度条如雨后春笋般涌现.CSS3的崛起,更使得动态效果得以轻松实现,未来,必定是CSS3的天下,所以今天我就来分享一下几个常见的CSS3进度条Loadi ...
随机推荐
- [Linux]方便openmp等程序的类似编译
因为总是打参数例如-fopenmp或者-lGL等等有些麻烦,所以特地写一个可以使用的bash文件用来执行简单的操作 首先在.profile中添加 if [ -d "$HOME/bin&quo ...
- Python之面向对象:方法
一.类的三种方法 1.实例方法 def func(self): 由对象调用:至少一个self参数:执行普通方法时,自动将调用该方法的对象赋值给self: 只能通过实例调用 2.静态方法 @stat ...
- 【03】node 之 作用域
1.什么是作用域 作用域:规定了一个变量和函数可使用的范围,作用域分为两种:全局作用域.局部作用域(函数作用域) 2.NodeJS作用域 NodeJs中一个文件就是一个模块,模块中使用var定义的变量 ...
- Hyperledger Fabric 环境配置
简单说一下 Hyperledger Fabric的配置 1.第一步,安装curl brew install curl 注:没有brew的自行百度(mac) 2. 安装Docker 下载并安装Docke ...
- MEF 注入[转载]
领域服务的时候,用到MEF的注入有参构造函数的方法,your master was attracted,打算稍微深挖一下,这篇来对此知识点做个总结. 一.知识点回顾 MEF作为IOC的方式之一,它的主 ...
- mysql中文乱码的解决方法
MySQL的字符集支持(Character Set Support)有两个方面: 字符集(Character set)和排序方式(Collation).对于字符集的支持细化到四个层次: 服务器(ser ...
- Codeforces 632F Magic Matrix(bitset)
题目链接 Magic Matrix 考虑第三个条件,如果不符合的话说明$a[i][k] < a[i][j]$ 或 $a[j][k] < a[i][j]$ 于是我们把所有的$(a[i][j ...
- Codeforces Round #324 (Div. 2) Dima and Lisa 哥德巴赫猜想
原题链接:http://codeforces.com/contest/584/problem/D 题意: 给你一个奇数,让你寻找三个以内素数,使得和为这个奇数. 题解: 这题嘛...瞎比搞搞就好,首先 ...
- Loj #6244. 七选五
link: https://loj.ac/problem/6244 让我们设B=N-K,再设F(P)为从1~P+B中选P个数(有序的),且这P个数是一个错排(即不存在一个i使得 i=Ai ,其中A是选 ...
- Java Servlet Filter
做web开发的人对于Filter应该不会陌生,一直在很简单的使用,但是一直没有系统的总结一下,随着年纪的慢慢长大,喜欢总结一些事情,下面说说我对Filter的理解,官方给出的Filter的定义是在请求 ...