纯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制作动感导航条示例
Jan 26 HTML / CSS
CSS3中利用animation属性创建雪花飘落特效
May 14 HTML / CSS
使用CSS3美化HTML表单的技巧演示
May 17 HTML / CSS
css3 transform过渡抖动问题解决
Oct 23 HTML / CSS
CSS3 实现发光边框特效
Nov 11 HTML / CSS
canvas基础之图形验证码的示例
Jan 02 HTML / CSS
HTML5边玩边学(3)像素和颜色
Sep 21 HTML / CSS
HTML5实现文件断点续传的方法
Jan 04 HTML / CSS
Canvas引入跨域的图片导致toDataURL()报错的问题的解决
Sep 19 HTML / CSS
怎样实现H5+CSS3手指滑动切换图片的示例代码
May 05 HTML / CSS
css样式important规则的正确使用方式
Jun 10 HTML / CSS
使用HBuilder制作一个简单的HTML5网页
Jul 07 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逐行输出(ob_flush与flush的组合)
2012/02/04 PHP
Windows中使用计划任务自动执行PHP程序实例
2014/05/09 PHP
IE 条件注释详解总结(附实例代码)
2009/08/29 Javascript
js实现的跟随鼠标移动的时钟效果(中英文日期显示)
2011/01/17 Javascript
基于jquery封装的一个js分页
2011/11/15 Javascript
JavaScript全排列的六种算法 具体实现
2013/06/29 Javascript
Javascript模拟加速运动与减速运动代码分享
2014/12/11 Javascript
jQuery中的pushStack实现原理和应用实例
2015/02/03 Javascript
javascript判断网页是关闭还是刷新
2015/09/12 Javascript
JS处理json日期格式化问题
2015/10/01 Javascript
JS实现的3D拖拽翻页效果代码
2015/10/31 Javascript
JS获取当前脚本文件的绝对路径
2016/03/02 Javascript
快速解决jquery.touchSwipe左右滑动和垂直滚动条冲突
2016/04/15 Javascript
使用JavaScript解决网页图片拉伸问题(推荐)
2016/11/25 Javascript
angular-ui-sortable实现可拖拽排序列表
2016/12/28 Javascript
Bootstrap源码解读模态弹出框(11)
2016/12/28 Javascript
js获取隐藏元素的宽高
2017/02/24 Javascript
jQuery插件imgAreaSelect基础讲解
2017/05/26 jQuery
详解jquery插件jquery.viewport.js学习使用方法
2017/09/08 jQuery
JS运动特效之完美运动框架实例分析
2018/01/24 Javascript
Mac下安装vue
2018/04/11 Javascript
echarts设置图例颜色和地图底色的方法实例
2018/08/01 Javascript
[01:28]国服启动器接入蒸汽平台操作流程视频
2021/03/11 DOTA
使用PYTHON创建XML文档
2012/03/01 Python
Python字符和字符值(ASCII或Unicode码值)转换方法
2015/05/21 Python
python 使用 requests 模块发送http请求 的方法
2018/12/09 Python
详解将Pandas中的DataFrame类型转换成Numpy中array类型的三种方法
2019/07/06 Python
django中的图片验证码功能
2019/09/18 Python
Python趣味入门教程之循环语句while
2020/08/26 Python
HTML5通过navigator.mediaDevices.getUserMedia调用手机摄像头问题
2020/04/27 HTML / CSS
购买正版游戏和游戏激活码:Green Man Gaming
2019/11/06 全球购物
日本最大的购物网站乐天市场国际版:Rakuten Global Market(支持中文)
2020/02/03 全球购物
优质服务演讲稿
2014/05/14 职场文书
2015年党员承诺书
2015/01/21 职场文书
Java Kafka 消费积压监控的示例代码
2021/07/01 Java/Android
python画条形图的具体代码
2022/04/20 Python