Layui 进度条可通过添加 layui-progress-striped 和 layui-progress-active 类实现条纹滚动动画,需 Layui ≥2.5.0,纯 CSS 实现,动态更新 width 或调用 element.progress 保持动画连续。

在 Layui 的 element 模块中,进度条本身不原生支持“条纹动画”(即类似 Bootstrap 的 striped + animated 效果),但可以通过组合使用 CSS 类和自定义样式实现视觉上的条纹滚动动画效果。
添加条纹效果(stripe)
Layui 进度条支持 layui-progress-bar 元素添加 layui-bg-* 背景类的同时,叠加 layui-progress-striped 类来启用静态条纹背景:
- 确保父容器是
<div class="layui-progress"> - 进度条子元素需添加
class="layui-progress-bar layui-progress-striped" - 条纹默认为 45° 斜线,颜色继承自背景色(如
layui-bg-blue)
示例 HTML:
<div class="layui-progress"><div class="layui-progress-bar layui-progress-striped layui-bg-green" lay-percent="60%"></div>
</div>
添加滚动动画(active)
仅加 layui-progress-striped 是静态条纹;要实现“流动条纹”效果,还需额外添加 layui-progress-active 类 —— Layui 官方文档虽未显式说明,但其内置 CSS 已定义该类的 background-position 动画:
-
layui-progress-active会触发动画,使条纹向右匀速滚动 - 必须与
layui-progress-striped同时存在才生效 - 无需 JS 初始化,纯 CSS 实现(依赖
@keyframes layui-progress-anim)
正确写法:
<div class="layui-progress"><div class="layui-progress-bar layui-progress-striped layui-progress-active layui-bg-orange" lay-percent="75%"></div>
</div>
注意事项与兼容性
该动画效果依赖 Layui 内置的 CSS 动画规则,需确认你使用的 Layui 版本 ≥ 2.5.0(早期版本可能缺失 layui-progress-active 类或关键帧):
- 检查浏览器控制台是否报
Failed to load module或 CSS 加载失败 - 若动画不触发,请手动在 CSS 中补充(兼容兜底):
@keyframes layui-progress-anim { 0% { background-position: 0 0; } 100% { background-position: 40px 0; } }
.layui-progress-active { animation: layui-progress-anim 3s linear infinite; } - 注意:条纹动画在小尺寸进度条(如高度 6px)上可能不明显,建议配合
height和background-size微调
动态更新时保持动画连续
如果通过 JS 动态修改 lay-percent 或内联 style.width,条纹动画不会中断 —— 因为它是基于父容器背景的独立动画。但要注意:
- 不要移除/重写
layui-progress-striped layui-progress-active类 - 避免用
innerHTML替换整个进度条 DOM,否则动画会重置 - 推荐方式:只更新
elem.style.width = 'xx%'或调用element.progress('filterName', value)


















