如何在 bootstrap-vue 切换按钮中更改背景颜色

how to change background-color in bootstap-vue toggler button

我正在做 vue js 项目来发展自己的技能。

当我更改 bootstrap-vue 切换器背景颜色时,不幸的是背景颜色没有改变?我是 Vue js 的新手。如果可以请解决这个问题?

Vue结构:-

<div class="toggler-btn">
 <b-form-checkbox v-model="checked" name="check-button" switch>
 </b-form-checkbox>
</div>

风格:-

<style scoped>
.custom-control-input:checked ~ .custom-control-label::before {
    color: #fff;
    border-color: red !important;
    background-color: red !important;
  }
</style>

这可能是由于范围样式。试试这个:

 <style scoped>

      ::v-deep(.toggler-btn) {
          .custom-control-input:checked ~ .custom-control-label::before {
              color: #fff;
              border-color: red !important;
              background-color: red !important;
          }
      }

  </style>

您的问题是因为 style 范围界定。您可以创建一个 global.css 并将所有全局样式放在那里。我根据您的代码准备了一个工作代码片段,以查看它是否正常工作。

new Vue({
  el: '#app'
})
.custom-control-input:checked~.custom-control-label::before {
  color: #fff;
  border-color: red !important;
  background-color: red !important;
}
<link type="text/css" rel="stylesheet" href="https://unpkg.com/bootstrap@4.5.3/dist/css/bootstrap.min.css" />
<link type="text/css" rel="stylesheet" href="https://unpkg.com/bootstrap-vue@2.21.2/dist/bootstrap-vue.css" />

<script src="https://unpkg.com/vue@2.6.12/dist/vue.min.js"></script>
<script src="https://unpkg.com/bootstrap-vue@2.21.2/dist/bootstrap-vue.min.js"></script>

<div id="app">
  <b-form-checkbox name="check-button" switch size="lg" />
</div>