demo —— 动态滚动进度条
效果
准备
-
animate动画
-
@keyframes 规则
-
background:repeating-linear-gradient(45deg,#99ccff 0px,#99ccff 15px,#0099cc 15px,#0099cc 30px);
#99ccff 0px
#99ccff的起点
#99ccff 15px
#99ccff 的终点
#0099cc 15px
#0099cc 的起点
#0099cc 30px
#0099cc 的终点
实现
代码:
<style>
.progress-bar{
width: 600px;
height: 20px;
-webkit-border-radius: 5px;
-moz-border-radius: 5px;
border-radius: 5px;
border:1px solid #ccc;
background-color: #dddddd;
margin: 50px auto;
}
.progress-val{
height: 20px;
width: 400px;
background:repeating-linear-gradient(45deg,#99ccff 0px,#99ccff 15px,#0099cc 15px,#0099cc 30px);
background-size:42px 20px;
/*background-repeat: no-repeat;*/
background-position: 0 ;
animation:progress 1s linear 0s infinite normal both;
}
@keyframes progress{
from{background-position:0;}
to{background-position: 42px;}
}
</style>
</head>
<body>
<div class="progress-bar">
<div class="progress-val"></div>
</div>
</body>
解析:
- repeating-linear-gradient :实现倾斜条纹效果
- background-size : 截取一段背景
- background-repeat : 截取的背景默认重复平铺,如果设置为
no-repeat
可以看到通过background-size
截取到的背景 - background-position:控制被截取的背景图的位置。与精灵图的用法相似
- 动画:progress规则设置的动画效果控制截取的背景图移动,实现滚动效果
备注:
B站视频教程