纯CSS3编写的的精美动画进度条(无flash/无图像/无脚本/附源码)


Posted in HTML / CSS onJanuary 07, 2013

加载动画和进度条的真正目的是让用户了解任务的进度,有很多的基于JavaScript的动画,但我决定切换到CSS3。 在本教程中,我决定制作动画的进度条,使用纯CSS:没有flash,没有图像,没有脚本。此外,我专注于寻找最简单的办法做到这一点。这里的例子:

 
%移动

HTML标记
我们需要的是这两个div,第一个div将代表主容器和圆角和阴影效果,第二个div的实际进度条。 我添加了一个输入和一个按钮控制和播放进度条。
复制代码
代码如下:

<div id="prbar">
<div id="prpos">
</div>
</div>
<input id="moveTo" value="57" style="width:30px;" />%
<button onclick="MoveTo();return false;">Move</button>

The CSS :
复制代码
代码如下:

#prbar {
margin:5px;
width:500px;
background-color:#dddddd;
overflow:hidden;
/* 边框效果 */
border: 1px solid #bbbbbb;
-moz-border-radius: 15px;
border-radius: 15px;
/* 为进度条增加阴影效果 */
-webkit-box-shadow: 0px 2px 4px #555555;
-moz-box-shadow: 0px 2px 4px #555555;
box-shadow: 0px 2px 4px #555555;
}
/* No rounded corners for Opera, because the overflow:hidden dont work with rounded corners */
doesnotexist:-o-prefocus, #prbar {
border-radius:0px;
}
#prpos {
width:0%;
height:30px;
background-color:#3399ff;
border-right:1px solid #bbbbbb;
/* CSS3 进度条渐变 */
transition: width 2s ease;
-webkit-transition: width 0s ease;
-o-transition: width 0s ease;
-moz-transition: width 0s ease;
-ms-transition: width 0s ease;
/* CSS3 Stripes */
background-image: linear-gradient(135deg,#3399ff 25%,#99ccff 25%,#99ccff 50%, #3399ff 50%, #3399ff 75%,#99ccff 75%,#99ccff 100%);
background-image: -moz-linear-gradient(135deg,#3399ff 25%,#99ccff 25%,#99ccff 50%, #3399ff 50%, #3399ff 75%,#99ccff 75%,#99ccff 100%);
background-image: -ms-linear-gradient(135deg,#3399ff 25%,#99ccff 25%,#99ccff 50%, #3399ff 50%, #3399ff 75%,#99ccff 75%,#99ccff 100%);
background-image: -o-linear-gradient(135deg,#3399ff 25%,#99ccff 25%,#99ccff 50%, #3399ff 50%, #3399ff 75%,#99ccff 75%,#99ccff 100%);
background-image: -webkit-gradient(linear, 100% 100%, 0 0,color-stop(.25, #99ccff), color-stop(.25, #3399ff),color-stop(.5, #3399ff),color-stop(.5, #99ccff),color-stop(.75, #99ccff),color-stop(.75, #3399ff),color-stop(1, #3399ff));
background-image: -webkit-linear-gradient(135deg,#3399ff 25%,#99ccff 25%,#99ccff 50%, #3399ff 50%, #3399ff 75%,#99ccff 75%,#99ccff 100%);
background-size: 40px 40px;
/* Background stripes animation */
animation: bganim 3s linear 2s infinite;
-moz-animation: bganim 3s linear 2s infinite;
-webkit-animation: bganim 3s linear 2s infinite;
-o-animation: bganim 3s linear 2s infinite;
-ms-animation: bganim 3s linear 2s infinite;
}
@keyframes bganim {
from {background-position:0px;} to { background-position:40px;}
}
@-moz-keyframes bganim {
from {background-position:0px;} to { background-position:40px;}
}
@-webkit-keyframes bganim {
from {background-position:0px;} to { background-position:40px;}
}
@-o-keyframes bganim {
from {background-position:0px;} to { background-position:40px;}
}
@-ms-keyframes bganim {
from {background-position:0px;} to { background-position:40px;}
}

进度条的宽度和高度的需要只能指定一次,指定的宽度在“prbar”和高度在“prpos”内。
您可以修改成任何你想要的背景条纹或任何纹理例如使用线性渐变,你可以画,线,圆
The Animation :
我们的进度条的动画,我们只需要设置另外一个div的宽度,最简单的方法当然是直接指定百分比计算的宽度。
小的JavaScript函数将读取的输入值,并设置宽度为动画的进度条
复制代码
代码如下:

function MoveTo() {
var prpos = document.getElementById('prpos');
prpos.style.width = document.getElementById('moveTo').value + "%";
}

源码下载地址
原文 http://www.cnblogs.com/58top/archive/2013/01/07/pure_css_progress_bar_animated_by_css3.html
HTML / CSS 相关文章推荐
css3打造一款漂亮的卡哇伊按钮
Mar 20 HTML / CSS
css3+jq创作含苞待放的荷花
Feb 20 HTML / CSS
利用CSS3实现进度条的两种姿势详解
Mar 21 HTML / CSS
css和css3弹性盒模型实现元素宽度(高度)自适应
May 15 HTML / CSS
详解HTML5中垂直上下居中的解决方案
Dec 20 HTML / CSS
HTML5 语音搜索只需一句代码
Jan 03 HTML / CSS
基于IE10/HTML5 开发
Apr 22 HTML / CSS
HTML5 在canvas中绘制矩形附效果图
Jun 23 HTML / CSS
HTML5标签大全
Nov 23 HTML / CSS
iframe在移动端的缩放的示例代码
Oct 12 HTML / CSS
HTML5中外部浏览器唤起微信分享功能的代码
Sep 15 HTML / CSS
CSS实现隐藏搜索框功能(动画正反向序列)
Jul 21 HTML / CSS
CSS3 icon font完全指南(CSS3 font 会取代icon图标)
Jan 06 #HTML / CSS
css3 旋转按钮 使用CSS3创建一个旋转可变色按钮
Dec 31 #HTML / CSS
绝对令人的惊叹的CSS3折叠效果(3D效果)整理
Dec 30 #HTML / CSS
纯CSS打造(无图像无js)的非常流行的讲话(语音)气泡效果
Dec 28 #HTML / CSS
分享30个新鲜的CSS3打造的精美绚丽效果(附演示下载)
Dec 28 #HTML / CSS
CSS3支持IE6, 7, and 8的边框border属性
Dec 28 #HTML / CSS
CSS3 滤镜 webkit-filter详细介绍及使用方法
Dec 27 #HTML / CSS
You might like
PHP 危险函数解释 分析
2009/04/22 PHP
给初学者的30条PHP最佳实践(荒野无灯)
2011/08/02 PHP
页面乱码问题的根源及其分析
2013/08/09 PHP
php实现singleton()单例模式实例
2014/11/06 PHP
php提示Failed to write session data错误的解决方法
2014/12/17 PHP
php简单计算页面加载时间的方法
2015/06/19 PHP
详解Yii2 rules 的验证规则
2016/12/02 PHP
php利用ob_start()清除输出和选择性输出的方法
2018/01/18 PHP
ThinkPHP 5.1 跨域配置方法
2019/10/11 PHP
JavaScript 中的事件教程
2007/04/05 Javascript
解决用jquery load加载页面到div时,不执行页面js的问题
2014/02/22 Javascript
javascript实现tab响应式切换特效
2016/01/29 Javascript
jQuery插件zTree实现的多选树效果示例
2017/03/08 Javascript
深入理解Commonjs规范及Node模块实现
2017/05/17 Javascript
vue elementui form表单验证的实现
2018/11/11 Javascript
详解Next.js页面渲染的优化方案
2019/01/27 Javascript
微信小程序云开发之新手环境配置
2019/05/16 Javascript
vue接通后端api以及部署到服务器操作
2020/08/13 Javascript
JavaScript实现打字游戏
2021/02/19 Javascript
python实现定时播放mp3
2015/03/29 Python
Python自定义类的数组排序实现代码
2016/08/28 Python
Python实现字典去除重复的方法示例
2017/07/31 Python
Python实现读取邮箱中的邮件功能示例【含文本及附件】
2017/08/05 Python
解决python中导入win32com.client出错的问题
2019/07/26 Python
python 实现方阵的对角线遍历示例
2019/11/29 Python
澳大利亚办公室装修:JasonL Office Furniture
2019/06/25 全球购物
后勤主管岗位职责
2014/03/01 职场文书
产品质量承诺书范文
2014/03/27 职场文书
节约用电标语
2014/06/17 职场文书
党员弘扬焦裕禄精神思想汇报
2014/09/10 职场文书
公民授权委托书范本
2014/09/17 职场文书
公司副总经理岗位职责
2014/10/01 职场文书
2014年高中教师工作总结
2014/12/19 职场文书
2016教师六五普法学习心得体会
2016/01/21 职场文书
Python中的np.argmin()和np.argmax()函数用法
2021/06/02 Python
Redis sentinel哨兵集群的实现步骤
2022/07/15 Redis