BootstrapVue的b-progress-bar组件条纹动画不生效问题咨询
可能的原因及对应解决方式
1. 系统/浏览器开启了「减少动态效果」设置
这是最常见的原因,Bootstrap 4.4+ 及以上版本为了符合无障碍规范,默认会在检测到系统开启减少动画设置时,禁用所有进度条动画效果,哪怕你手动加了animated属性也不会生效。
你可以按对应系统路径检查设置:
- macOS:系统设置 > 辅助功能 > 显示 > 关闭「减少动态效果」开关
- Windows:设置 > 辅助功能 > 视觉效果 > 打开「动画效果」开关
- Chrome浏览器:地址栏输入
chrome://flags/#prefers-reduced-motion,确认选项值为Default或No preference
2. 依赖版本或CSS引入错误
- 确认你安装的Bootstrap、BootstrapVue版本匹配:BootstrapVue 2.x对应Bootstrap 4,BootstrapVue 3对应Bootstrap 5,版本不匹配会导致动画类对应的样式缺失
- 确认项目入口文件完整引入了Bootstrap核心CSS,示例引入代码:
// 适配BootstrapVue 2.x + Bootstrap4 import 'bootstrap/dist/css/bootstrap.min.css' import 'bootstrap-vue/dist/bootstrap-vue.css'
3. 属性绑定位置调整(低版本兼容)
部分低版本BootstrapVue中,animated属性需要绑定在<b-progress-bar>子组件上而非父级<b-progress>,你可以调整代码尝试:
<b-progress max="100" :striped="true" show-progress> <b-progress-bar :value="balance" variant="danger" :animated="true" :label="`${balance}%`" /> </b-progress>
注:你原代码里的label-html写法存在语法问题,建议换成计算属性或直接用模板字符串绑定label属性即可,该问题不影响动画效果
内容的提问来源于stack exchange,提问作者ForWiz
相关产品推荐
相关产品推荐

