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 ...
随机推荐
- Xor路
Xor路 (xor.pas/c/cpp)128MB1s 给定一棵有N个点和N-1条边的树,请你求出树中的最长路径,以及总共有多少条最长路径. 这里路径长度是用xor定义的,即若经过的边的权值为a1, ...
- LOJ#2244. 「NOI2014」起床困难综合症
$n \leq 1e5$个位运算操作,$m \le 2^{30}$,问$0-m$中谁进行完所有操作值最大,输出这个最大值. cfA题难度?当送分题就不管了 and相当于几个位取0,or相当于几个位取1 ...
- div两侧的boder断开 消失 奇怪
原文发布时间为:2009-11-06 -- 来源于本人的百度文章 [由搬家工具导入] 解决方法: 设定外层DIV的宽度即可,如 width:99% ========================== ...
- c++学习重点分析
C++是一种语言,仅仅是它的语法.特性.标准类库就已经是一门非常高深的课程,所以在开始学习的时候,必须先要打好基础.要知道当我们在学习它的时候重点应该注意什么. 一.#include “filena ...
- 搞定vim的窗口操作
最近在给学生演示数据结构代码时,发现用一般的方法总会有不方便,如果使用ide又觉得太浪费了,后来觉得用vim就够了,使用buffer总会需要页面调来跳出,学生看起来容易迷糊.所以就研究了下vim的窗口 ...
- VIM的修炼等级
用vim 快两年了 看过教程也不少,总的来说还是得自己多练习,当自己觉得有需要的时候,再添加功能.这里分享个看过的最好的教程,出自贴吧的某个朋友,写的很好 零 学会盲打 壹 配置文件先从最简开始,在 ...
- hdu 4541(麻烦的模拟)
Ten Googol Time Limit: 500/200 MS (Java/Others) Memory Limit: 65535/32768 K (Java/Others)Total Su ...
- Process 'command 'D:\IDE\SDK\build-tools\28.0.3\aapt.exe'' finished with non-zero exit value 1问题分析解决
当在Android Studio的XML布局文件写错属性或单词拼错时,会出现如下所列的错误,而AS编辑器又没任何提示, 再次点击下方的"Run build",也只能得到:app:p ...
- HDU 6225.Little Boxes-大数加法 (2017ACM/ICPC亚洲区沈阳站-重现赛(感谢东北大学))
整理代码... Little Boxes Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 262144/262144 K (Java/O ...
- TensorFlow——Checkpoint为模型添加检查点
1.检查点 保存模型并不限于在训练模型后,在训练模型之中也需要保存,因为TensorFlow训练模型时难免会出现中断的情况,我们自然希望能够将训练得到的参数保存下来,否则下次又要重新训练. 这种在训练 ...