当前位置: 移动技术网 > IT编程>网页制作>CSS > 纯CSS3编写的的精美动画进度条(无flash/无图像/无脚本/附源码)

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

2019年07月25日  | 移动技术网IT编程  | 我要评论

桓侯再生下载,罗拉故事,幻彩门户

加载动画和进度条的真正目的是让用户了解任务的进度,有很多的基于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

如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复

相关文章:

验证码:
移动技术网