可以随进度显示不同颜色的css3进度条分享


Posted in HTML / CSS onApril 11, 2014

一款进度条,它的外观是一条直线,末端有个小球,在进度变化时可以显示数字百分比,更可以用不同颜色来表示当前进度的状态。来看看效果图。

可以随进度显示不同颜色的css3进度条分享

接下来我们来分析一下这款HTML5进度条的实现源码,篇幅有限,我们只挑核心的代码来说。

HTML代码很简单,构造一个进度条容器和数字百分比容器:

复制代码
代码如下:

<div id="wrapper">
<div class="loader-container">
<div class="meter">0</div>
<span class="runner"></span>
</div>
</div>

首先我们来对进度条的容器进行样式渲染,利用CSS3的渐变属性来实现不同进度变换颜色的效果:

复制代码
代码如下:

.loader-container {
height: 6px;
width: 600px;
position: absolute;
top: 50%;
left: 50%;
margin-top: -3px;
margin-left: -300px;
background-color: transparent;
background-image: -webkit-linear-gradient(left, #5bd8ff, #ff0000);
background-image: -moz-linear-gradient(left, #5bd8ff, #ff0000);
background-image: -o-linear-gradient(left, #5bd8ff, #ff0000);
background-image: -ms-linear-gradient(left, #5bd8ff, #ff0000);
background-image: linear-gradient(left, #5bd8ff, #ff0000);
box-shadow: inset 0 -2px 2px rgba(0, 0, 0, 0.4);
border-radius: 3px 0 0 3px;
}
.loader-container:after {
content: "";
display: block;
position: absolute;
right: 0;
top: 50%;
width: 1em;
height: 1em;
border-radius: 50%;
margin-top: -0.5em;
margin-right: -1em;
background-image: -webkit-linear-gradient(top, #000000, #212121);
background-image: -moz-linear-gradient(top, #000000, #212121);
background-image: -o-linear-gradient(top, #000000, #212121);
background-image: -ms-linear-gradient(top, #000000, #212121);
background-image: linear-gradient(top, #000000, #212121);
}

接下来是末端小圆球的样式:

复制代码
代码如下:

.loader-container.done:after {
background: Red;
}
.run .runner {
content: "";
position: absolute;
right: 0;
height: 100%;
width: 0%;
background-color: transparent;
background-image: -webkit-linear-gradient(top, #000000, #212121);
background-image: -moz-linear-gradient(top, #000000, #212121);
background-image: -o-linear-gradient(top, #000000, #212121);
background-image: -ms-linear-gradient(top, #000000, #212121);
background-image: linear-gradient(top, #000000, #212121);
animation: loader 10s linear;
}

这里也是利用的CSS3的渐变属性。

然后是数字百分比的样式属性,这里随着进度变化,数字百分比的颜色也会发生变化。

复制代码
代码如下:

.meter {
position: absolute;
top: 0;
right: 0;
font-size: 2em;
margin-top: .3em;
color: #ff0000;
animation: meter 10s linear;
text-shadow: 0 -1px 0 #333333;
}
.meter:after {
content: "%";
}

最后,我们再来看看JS代码,其实js要完成的工作非常简单,只需要将CSS3渲染好的进度条动起来就好,看代码:

复制代码
代码如下:

var Loader = function () {
var loader = document.querySelector('.loader-container'),
meter = document.querySelector('.meter'),
k, i = 1,
counter = function () {
if (i <= 100) {
meter.innerHTML = i.toString();
i++;
} else {
window.clearInterval(k);
}
};
return {
init: function (options) {
options = options || {};
var time = options.time ? options.time : 0,
interval = time/100;
loader.classList.add('run');
k = window.setInterval(counter, interval);
setTimeout(function () {
loader.classList.add('done');
}, time);
},
}
}();
Loader.init({
// If you have changed the @time in LESS, update this number to the corresponding value. Measured in miliseconds.
time: 10000
});

源码打包下载地址:http://xiazai.3water.com/201403/tools/css3jdt.rar

HTML / CSS 相关文章推荐
绝对令人的惊叹的CSS3折叠效果(3D效果)整理
Dec 30 HTML / CSS
浅谈CSS3 动画卡顿解决方案
Jan 02 HTML / CSS
用css3实现转换过渡和动画效果
Mar 13 HTML / CSS
Javascript 高级手势使用介绍
Apr 21 HTML / CSS
让IE下支持Html5的placeholder属性的插件
Sep 02 HTML / CSS
HTML5 history新特性pushState、replaceState及两者的区别
Dec 26 HTML / CSS
详解px单位html5响应式方案
Mar 08 HTML / CSS
HTML5视频播放插件 video.js介绍
Sep 29 HTML / CSS
Canvas 像素处理之改变透明度的实现代码
Jan 08 HTML / CSS
Html5写一个简单的俄罗斯方块小游戏
Dec 03 HTML / CSS
HTML5 直播疯狂点赞动画实现代码 附源码
Apr 14 HTML / CSS
HTML5中的网络存储实现方式
Apr 28 HTML / CSS
css3发光搜索表单分享
Apr 11 #HTML / CSS
用css3实现当鼠标移进去时当前亮其他变灰效果
Apr 08 #HTML / CSS
css3的图形3d翻转效果应用示例
Apr 08 #HTML / CSS
css3 线性渐变和径向渐变示例附图
Apr 08 #HTML / CSS
使用before和:after伪类制作css3圆形按钮
Apr 08 #HTML / CSS
使用css3制作登录表单的步骤
Apr 07 #HTML / CSS
纯CSS实现聊天框小尖角、气泡效果
Apr 04 #HTML / CSS
You might like
PHP中的正则表达式函数介绍
2012/02/27 PHP
(JS实现)MapBar中坐标的加密和解密的脚本
2007/05/16 Javascript
JQuery Study Notes 学习笔记(一)
2010/08/04 Javascript
javascript中比较字符串是否相等的方法
2013/07/23 Javascript
Ubuntu中搭建Nodejs开发环境过程分享
2014/06/01 NodeJs
js计算德州扑克牌面值的方法
2015/03/04 Javascript
js类式继承与原型式继承详解
2016/04/07 Javascript
Angular.js回顾ng-app和ng-model使用技巧
2016/04/26 Javascript
JQuery 在文档中查找指定name的元素并移除的实现方法
2016/05/19 Javascript
详解js的六大数据类型
2016/12/27 Javascript
javascript 中iframe高度自适应(同域)实例详解
2017/05/16 Javascript
AngularJS实现表格的增删改查(仅限前端)
2017/07/04 Javascript
vue与TypeScript集成配置最简教程(推荐)
2017/10/17 Javascript
node+express框架中连接使用mysql(经验总结)
2018/11/10 Javascript
vue resource发送请求的几种方式
2019/09/30 Javascript
在python的WEB框架Flask中使用多个配置文件的解决方法
2014/04/18 Python
深入理解Python中的super()方法
2017/11/20 Python
python清理子进程机制剖析
2017/11/23 Python
Windows下安装Django框架的方法简明教程
2018/03/28 Python
浅析Python四种数据类型
2018/09/26 Python
mac PyCharm添加Python解释器及添加package路径的方法
2018/10/29 Python
超简单使用Python换脸实例
2019/03/27 Python
Python实现爬取亚马逊数据并打印出Excel文件操作示例
2019/05/16 Python
python实现图像全景拼接
2020/03/27 Python
Python openpyxl 插入折线图实例
2020/04/17 Python
Jmeter调用Python脚本实现参数互相传递的实现
2021/01/22 Python
HTML中fieldset标签概述及使用方法
2013/02/01 HTML / CSS
汽车运用工程专业毕业生推荐信
2013/12/25 职场文书
酒店出纳岗位职责
2013/12/29 职场文书
给交警的表扬信
2014/01/12 职场文书
高中国旗下的演讲稿
2014/08/28 职场文书
考试作弊万能检讨书
2014/10/19 职场文书
小学二年级班主任工作经验交流材料
2015/11/02 职场文书
《语言的突破》读后感3篇
2019/12/12 职场文书
用Python将GIF动图分解成多张静态图片
2021/06/11 Python
php访问对象中的成员的实例方法
2021/11/17 PHP