19

使用 Bootstrap v2.3.2,我正在尝试更改活动选项卡的默认背景颜色。我尝试如下设置,但它不起作用:

.nav-tabs > .active > a,
.nav-tabs > .active > a:hover,
.nav-tabs > .active > a:focus
{
    color: #555555;
    background-color: red;  
} 

关于为什么这不起作用或如何解决它的任何建议?

4

2 回答 2

30

在 Bootstrap v2.3.2 CSS 文件中,您的代码片段的 CSS 如下:

        .nav-tabs > li.active > a,
        .nav-tabs > li.active > a:hover,
        .nav-tabs > li.active > a:focus {
          color: #555555;
          cursor: default;
          background-color: #ffffff;
          border: 1px solid #dddddd;
          border-bottom-color: transparent;
          } 

如您所见,将此与您的 CSS 片段进行比较,您在li选择器之前缺少选择.active器。您的 CSS 是正确的,但它不起作用,因为 Bootstrap CSS 中的特异性更多。因此,只需通过增加特异性将您的代码片段更改为:

        .nav-tabs > li.active > a,
        .nav-tabs > li.active > a:hover,
        .nav-tabs > li.active > a:focus{
            color: #555555;
            background-color: red;  
        } 

现在,您的浏览器在呈现页面时将选择您的 CSS 片段。你可以在这里看到一个例子:http: //jsfiddle.net/yyPrg/

您可以在此处阅读 CSS 特异性: http: //css-tricks.com/specifics-on-css-specificity/ 和此处: http ://coding.smashingmagazine.com/2007/07/27/css-specificity-你应该知道的事/

于 2013-08-02T13:55:21.893 回答
0

在 Bootstrap 3 及更高版本的情况下,以下 css 对我有用(无锚标记):

ul.nav-tabs > li.active {
    background-color: #e9ecef;
    border: 1px #e9ecef;
    border-radius: .25rem;
    border-bottom-left-radius:0;
    border-bottom-right-radius:0;
}

注意:这也解决了 ui-bootstrap 插件选项卡的活动选项卡突出问题。

于 2020-10-22T11:49:03.907 回答