首页 > 解决方案 > 根据活动/非活动状态更改切换按钮的颜色(Bootstrap4)

问题描述

对 HTML 等非常陌生,我希望有一系列可以激活的 BS4 按钮(保持激活状态,直到用户单击/停用它们)。我还想让按钮背景在激活或不激活时改变颜色。

示例按钮

我在这里看到了许多类似的问题,但我没有任何工作要做。我目前的“解决方案”是制作一个新按钮 btn-sample,并将其放入我的 BS4 之后引用的 CSS 代码文件中。但是,不知何故它不起作用。

这是我的 btn 示例代码:

.btn-sample { 
  color: #ffffff; 
  background-color: #b7b7b7; 
  border-color: #130269; 
} 

.btn-sample:hover, 
.btn-sample:focus, 
.btn-sample:active, 
.btn-sample.active, 
.open .dropdown-toggle.btn-sample { 
  color: #ffffff; 
  background-color: #2196F3; 
  border-color: #130269; 
} 

.btn-sample:active, 
.btn-sample.active, 
.open .dropdown-toggle.btn-sample { 
  background-image: none; 
} 

.btn-sample.disabled, 
.btn-sample[disabled], 
fieldset[disabled] .btn-sample, 
.btn-sample.disabled:hover, 
.btn-sample[disabled]:hover, 
fieldset[disabled] .btn-sample:hover, 
.btn-sample.disabled:focus, 
.btn-sample[disabled]:focus, 
fieldset[disabled] .btn-sample:focus, 
.btn-sample.disabled:active, 
.btn-sample[disabled]:active, 
fieldset[disabled] .btn-sample:active, 
.btn-sample.disabled.active, 
.btn-sample[disabled].active, 
fieldset[disabled] .btn-sample.active { 
  background-color: #b7b7b7; 
  border-color: #130269; 
} 

.btn-sample .badge { 
  color: #b7b7b7; 
  background-color: #ffffff; 
}

同样,我只是将它添加到 CSS 文件中并引用了该文件。我不确定那里是否需要任何前缀。

我的 HTML 代码如下:

        <link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.1.0/css/all.css" integrity="sha384-lKuwvrZot6UHsBSfcMvOkWwlCMgc0TaWr+30HWe3a4ltaBwTZhyTEggF5tJv8tbt" crossorigin="anonymous">
        <link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.1.1/css/bootstrap.min.css" integrity="sha384-WskhaSGFgHYWDcbwN70/dfYBj47jz9qbsMId/iRN3ewGhXQFZCSftd1LZCfmhktB" crossorigin="anonymous">
        <script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.3/umd/popper.min.js" integrity="sha384-ZMP7rVo3mIykV+2+9J3UJ46jBk0WLaUAdn689aCwoqbBJiSnjAK/l8WvCWPIPm49" crossorigin="anonymous"></script>
        <script src="https://stackpath.bootstrapcdn.com/bootstrap/4.1.1/js/bootstrap.min.js" integrity="sha384-smHYKdLADwkXOn1EmN1qk/HfnUcbVRZyYmZ4qpPea6sjB/pTJ0euyQp0Mk8ck+5T" crossorigin="anonymous"></script>
        <script src="https://code.jquery.com/jquery-3.3.1.js"></script>


        <link rel="stylesheet" href="style.css">
    <span><button class="btn btn-sample active", value = >Sample Button</button></span>

问题是我只想用这个按钮发生这种情况,我不想改变整个班级 b/c 我在其他地方使用按钮,我不希望它们改变。因此,即使解决方案是一些 in-div HTML 行,也可以。

我真的很感激任何帮助,特别是如果它可以从头开始实现,并在顶部使用正确的样式引用等。

非常感谢。

标签: htmlcssbootstrap-4togglebutton

解决方案


推荐阅读