70

我正在尝试更改每个选项卡的活动颜色(单击后它仍然是 twitter 的浅蓝色):

 <ul class="nav nav-pills">
   <li class="active"><a href="#tab1" data-toggle="tab">Overview</a></li>
   <li><a href="#tab2" data-toggle="tab">Sample</a></li>
   <li><a href="#tab3" data-toggle="tab">Sample</a></li>
 </ul>

(如何)我可以在 CSS 中做到这一点吗?

4

14 回答 14

99

您可以nav-pills使用自定义颜色为您的活动链接向容器提供您自己的类,这样您就可以创建任意数量的颜色,而无需修改页面其他部分的引导程序默认颜色。试试这个:

标记

<ul class="nav nav-pills red">
    <li class="active"><a href="#tab1" data-toggle="tab">Overview</a></li>
    <li><a href="#tab2" data-toggle="tab">Sample</a></li>
    <li><a href="#tab3" data-toggle="tab">Sample</a></li>
</ul>

这是您自定义颜色的 CSS:

.red .active a,
.red .active a:hover {
    background-color: red;
}

此外,如果您更喜欢替换.active项目中的默认颜色,nav-pills您可以像这样修改原始颜色:

.nav-pills > .active > a, .nav-pills > .active > a:hover {
    background-color: red;
}
于 2012-05-12T23:06:36.693 回答
41

投票最多的解决方案对我不起作用。(引导程序 3.0.0)但是,这样做:

.nav-pills > li.active > a, .nav-pills > li.active > a:hover, .nav-pills > li.active > a:focus {
    color:black;
    background-color:#fcd900;
    }

在页面<style></style>标签上包含这个很好地为每页服务

并将其混合在两种色调上会产生出色的效果,例如:

<style>
    .nav-pills > li.active > a, .nav-pills > li.active > a:focus {
        color: black;
        background-color: #fcd900;
    }

        .nav-pills > li.active > a:hover {
            background-color: #efcb00;
            color:black;
        }
</style>
于 2015-05-19T11:25:48.813 回答
18

对于 Bootstrap 4.0(在键入时为 alpha 版本),您应该在元素上指定.active类。a

对我来说,只有以下工作:

.nav-pills > li > a.active {
    background-color: #ff0000 !important;
}

!important也是必要的。

--

编辑:在!importantCodeMantle 根据下面的评论之前添加空格

于 2017-04-18T00:20:28.887 回答
13

Bootstrap 4.x 解决方案

.nav-pills .nav-link.active {
    background-color: #ff0000 !important;
}
于 2018-10-12T20:07:24.287 回答
7

这是特定于 Bootstrap 4.0 的。

HTML

<ul class="nav nav-pills">
  <li class="nav-item">
    <a class="nav-link nav-link-color" href="#about">home</a>
  </li>
  <li class="nav-item">
    <a class="nav-link nav-link-color"  href="#contact">contact</a>
  </li>
</ul>

CSS

.nav-pills > li > a.active {
  background-color: #ffffff !important;
  color: #ffffff !important;
}

.nav-pills > li > a:hover {
  color: #ffffff !important;
}

.nav-link-color {
  color: #ffffff;
}
于 2017-12-27T22:59:24.280 回答
3

我使用这个片段来更改同一 ul 中所有药丸的活动类(在文档准备好时应用):

$('ul.nav.nav-pills li a').click(function() {           
    $(this).parent().addClass('active').siblings().removeClass('active');           
});
于 2012-07-30T12:52:38.243 回答
2

以下代码对我有用:-

.nav-pills .nav-link.active, .nav-pills .show>.nav-link {
    color: #fff;
    background-color: rgba(0,123,255,.5);
}

注意:-这对我使用 Bootstrap 4 有效

于 2018-12-24T07:10:10.207 回答
1

如果您不想包含任何额外的 CSS,您可以在 nav-link 元素中使用按钮颜色类,它会像常规按钮一样格式化药丸。

<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/css/bootstrap.min.css" integrity="sha384-ggOyR0iXCbMQv3Xipma34MD+dH/1fQ784/j6cY/iJTQUOhcWr7x9JvoRxT2MZw1T" crossorigin="anonymous">

<script src="https://code.jquery.com/jquery-3.4.1.min.js" integrity="sha256-CSXorXvZcTkaix6Yvo6HppcZGetbYMGWSFlBw8HfCJo=" crossorigin="anonymous"></script>

<script src="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/js/bootstrap.min.js" integrity="sha384-JjSmVgyd0p3pXB1rRibZUAYoIIy6OrQ6VrjIEaFf/nJGzIxFDsf4x0xIM+B07jRM" crossorigin="anonymous"></script>

<ul class="nav nav-pills p-3">
    <li class="nav-item">
        <a class="nav-link active" href="#">Normal</a>
    </li>
    <li class="nav-item">
        <a class="nav-link active btn-primary" href="#">Primary</a>
    </li>
    <li class="nav-item">
        <a class="nav-link active btn-secondary" href="#">Secondary</a>
    </li>
    <li class="nav-item">
        <a class="nav-link active btn-success" href="#">Success</a>
    </li>
    <li class="nav-item">
        <a class="nav-link active btn-warning" href="#">Warning</a>
    </li>
    <li class="nav-item">
        <a class="nav-link active btn-danger" href="#">Danger</a>
    </li>

</ul>

于 2020-01-04T23:53:14.247 回答
1

用于更改所有按钮的 SCSS 选项...

// do something for each color
@each $color, $value in $theme-colors {

  // nav-link outline colors on the outer nav element
  .nav-outline-#{$color} .nav-link {
    @include button-outline-variant($value);
    margin: 2px 0;
  }

  // nav-link colors on the outer nav element
  .nav-#{$color} .nav-link {
    @include button-variant($value, $value);
    margin: 2px 0;
  }
}

所以你最终会得到所有.nav-primary
类似于.btn-primary...的定义颜色

<div class="col-2 nav-secondary">
            <div class="nav flex-column nav-pills" id="v-pills-tab" role="tablist" aria-orientation="vertical">
                <a class="nav-link" aria-expanded="true" aria-controls="addService" data-toggle="pill" href="#addService" role="tab" aria-selected="false">
                    Add Service
                </a>
                <a class="nav-link" aria-expanded="true" aria-controls="bonusPayment" data-toggle="pill" href="#bonusPayment" role="tab" aria-selected="false">
                    Bonus Payment
                </a>
                <a class="nav-link" aria-expanded="true" aria-controls="oneTimeInvoice" data-toggle="pill" href="#oneTimeInvoice" role="tab" aria-selected="false">
                    Invoice - One Time
                </a>
                <a class="nav-link active" aria-expanded="true" aria-controls="oneTimePayment" data-toggle="pill" href="#oneTimePayment" role="tab" aria-selected="true">
                    Payment - One Time
                </a>
            </div>
        </div>

在此处输入图像描述

于 2020-05-06T14:58:09.413 回答
1

在引导 5.0.x 上:

<style>
    .nav-pills .nav-link.active, .nav-pills .show>.nav-link {
        color: #fff;
        background-color: #af2e89;
    }
</style>
于 2021-06-29T07:33:11.047 回答
0

第 1 步:定义一个名为的类,该类applycolor可用于应用您选择的颜色。

第 2 步:定义当它悬停时会发生什么动作。如果您的表单背景是白色的,那么您必须确保在悬停时选项卡不会变成白色。要实现这一点,请使用该!important子句在悬停属性上强制执行此功能。我们这样做是为了覆盖 Bootstrap 的默认行为。

第 3 步:将类应用于您要定位的选项卡。

CSS部分:

<style>
    .nav-pills > li.active > a, .nav-pills > li.active > a:hover, .nav-pills > li.active > a:focus {
        color: #fff;
        background-color: #337ab7 !important;
    }

    .nav > li > a:hover, .nav > li > a:focus {
        text-decoration: none;
        background-color: none !important;
    }

    .applycolor {
        background-color: #efefef;
        text-decoration: none;
        color: #fff;
    }

    .applycolor:hover {
        background-color: #337ab7;
        text-decoration: none;
        color: #fff;
    }
</style>

标签部分:

<section class="form-toolbar row">
    <div class="form-title col-sm-12" id="tabs">
        <ul class="nav nav-pills nav-justified">
            <li class="applycolor"><a data-toggle="pill" href="#instance" style="font-size: 1.8rem; font-weight: 800;">My Apps</a></li>
            <li class="active applycolor"><a data-toggle="pill" href="#application" style="font-size: 1.8rem; font-weight: 800;">Apps Collection</a></li>
        </ul>
    </div>
</section>
于 2017-09-22T09:48:03.177 回答
0

这个问题的解决方案,往往会因情况而略有不同。解决它的一般方法是
1.)右键单击引导药丸并选择检查或检查元素,如果是 Firefox
2.)复制更改颜色的规则的 css 选择器
3.)在您的自定义 css 文件中修改它,例如所以...

.TheCssSelectorYouJustCopied{
    background-color: #ff0000!important;//or any other color
}
于 2018-09-19T09:53:00.907 回答
0

这在引导程序 4.4.1 中非常适合我!

.nav-pills > li > a.active{
  background-color:#46b3e6 !important;
  color:white !important;
}

  .nav-pills > li.active > a:hover {
  background-color:#46b3e6 !important;
  color:white !important;
        }

.nav-link-color {
  color: #46b3e6;
}
于 2019-12-01T05:26:27.357 回答
0

这对我有用 Bootstrap v3.3.7 把它写在你的css文件中!

.nav > li > a:hover,
.nav > li > a:focus {
   text-decoration: none;
   background-color: #0d0d0d;
}
于 2021-05-21T13:44:38.650 回答