You need to enable JavaScript to run this app. 如何修改b-form-checkbox-group渲染的复选框选中时的默认蓝色背景色
优惠活动
大模型
产品
解决方案
定价
更多

如何修改b-form-checkbox-group渲染的复选框选中时的默认蓝色背景色

解决方法

你可以通过自定义CSS覆盖默认样式实现效果,之前写的样式不生效大多是因为样式权重不足,或者vue单文件组件使用了scoped样式没有加深度选择器导致的,对应方案如下:

1. 非scoped样式方案

直接在全局样式或者非scoped的style标签中添加以下代码:

/* 修改选中状态背景色、边框色 */
#checkboxId .custom-control-input:checked ~ .custom-control-label::before {
  background-color: #28a745; /* 替换为你想要的颜色值 */
  border-color: #28a745;
}

/* 可选:修改选中状态对勾的颜色 */
#checkboxId .custom-control-input:checked ~ .custom-control-label::after {
  filter: brightness(0) invert(1);
}

2. scoped样式方案

如果你的样式写在带scoped属性的style标签中,需要添加深度选择器穿透样式隔离:

  • Vue2版本使用::v-deep或者/deep/:
<style scoped>
::v-deep #checkboxId .custom-control-input:checked ~ .custom-control-label::before {
  background-color: #28a745;
  border-color: #28a745;
}
</style>
  • Vue3版本使用:deep():
<style scoped>
:deep(#checkboxId .custom-control-input:checked ~ .custom-control-label::before) {
  background-color: #28a745;
  border-color: #28a745;
}
</style>

注意事项

  • 以上代码默认适配BootstrapVue 2.x版本,如果样式不生效,可以打开浏览器开发者工具,选中复选框元素,直接复制开发者工具中识别到的选中状态的选择器,替换上面的选择器即可适配不同版本。
  • 如果需要全局修改所有复选框的选中样式,去掉选择器中的#checkboxId即可。

内容的提问来源于stack exchange,提问作者Tahmid Ali

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.14 05:24:02