改变 Twitter bootstrap Nav-Pills 的颜色

Posted

技术标签:

【中文标题】改变 Twitter bootstrap Nav-Pills 的颜色【英文标题】:Changing color of Twitter bootstrap Nav-Pills 【发布时间】:2012-05-20 14:33:36 【问题描述】:

我正在尝试更改每个标签的活动颜色(点击后它仍然是 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 中做到这一点?

【问题讨论】:

如何操作颜色?你的意思是把蓝色换成别的东西? 嗨,安德烈斯,是的,将颜色更改为其他颜色... 【参考方案1】:

您可以为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;

另外,如果您希望替换 nav-pills.active 项目的默认颜色,您可以像这样修改原始颜色:

.nav-pills > .active > a, .nav-pills > .active > a:hover 
    background-color: red;

【讨论】:

您还必须将 .nav-pills &gt; .active &gt; a:focus 添加到 CSS 文件中的该列表中,以确保即使您单击导航药丸时颜色也保持不变。 @raffian 在 3.X 中,您必须更具体,对于最后一个示例:.nav-pills &gt; li.active &gt; a, .nav-pills &gt; li.active &gt; a:hover - bootstrap CSS 现在指定 li.active,而不仅仅是 .active 这对我不起作用,我必须将 !important 添加到背景颜色中。【参考方案2】:

投票最多的解决方案对我不起作用。(Bootstrap 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;
    

在页面上包含这个&lt;style&gt;&lt;/style&gt;标签很好地服务于每页

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

<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>

【讨论】:

感谢这对我也有用...应该标记为正确答案!【参考方案3】:

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

对我来说只有以下工作:

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

!important 也是必需的。

--

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

【讨论】:

这在 Firefox 中不起作用。 !important;之前需要一个空格【参考方案4】:

Bootstrap 4.x 解决方案

.nav-pills .nav-link.active 
    background-color: #ff0000 !important;

【讨论】:

这适用于 Chrome 88,但不适用于 Firefox 85。它需要在 !important; 之前有一个空格【参考方案5】:

这是 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;

【讨论】:

嗨@sam-sokeye,我认为最佳答案可能已经适用于Bootstrap 4。【参考方案6】:

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

$('ul.nav.nav-pills li a').click(function()            
    $(this).parent().addClass('active').siblings().removeClass('active');           
);

【讨论】:

【参考方案7】:

以下代码对我有用:-

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

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

【讨论】:

【参考方案8】:

如果您不想包含任何额外的 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>

【讨论】:

【参考方案9】:

用于更改所有按钮的 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>

【讨论】:

【参考方案10】:

在 Bootstrap 5.0.x 上:

<style>
    .nav-pills .nav-link.active, .nav-pills .show>.nav-link 
        color: #fff;
        background-color: #af2e89;
    
</style>

【讨论】:

【参考方案11】:

第 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>

【讨论】:

【参考方案12】:

此问题的解决方案往往因情况而异。 解决它的一般方法是 1.) 右键单击​​引导药丸并选择检查或检查元素如果是 firefox 2.) 复制更改颜色规则的 css 选择器 3.) 在您的自定义 css 文件中修改它,如下所示...

.TheCssSelectorYouJustCopied
    background-color: #ff0000!important;//or any other color

【讨论】:

【参考方案13】:

这在 bootstrap 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;

【讨论】:

4.4.x 中没有 nav-link-color【参考方案14】:

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

.nav > li > a:hover,
.nav > li > a:focus 
   text-decoration: none;
   background-color: #0d0d0d;

【讨论】:

以上是关于改变 Twitter bootstrap Nav-Pills 的颜色的主要内容,如果未能解决你的问题,请参考以下文章

如何将这些 Twitter bootstrap 3 导航栏链接居中?

无法使用 @extend .btn; 覆盖 Twitter Bootstrap 按钮?

Twitter Bootstrap 2.0 中的中心导航栏

Twitter Bootstrap 向 li 添加活动类

Twitter bootstrap 3:导航栏在词缀触发时改变宽度

Twitter Bootstrap 3 - 在仅桌面的下拉菜单上添加箭头