如何更改打开的Bootstrap下拉菜单切换器的颜色?

13

打开下拉列表时,我想改变它的默认颜色。我希望使用CSS更改边框颜色和背景。

enter image description here

http://i.imgur.com/w6WIN.png

以下是HTML代码:

<div class="row menu">
 <ul class="nav nav-pills pull-right">
  <li class="dropdown">
    <a href="#" class="dropdown-toggle"
       data-toggle="dropdown">
      My reports
      <span class="caret my-reports-caret"></span>
    </a>
    <ul class="dropdown-menu">
      <li><%= link_to "Performance", performance_reports_path %></li>
      <li class="divider"></li>
      <li><%= link_to "Account settings", '#' %></li>
    </ul>
  </li>
</ul>
</div>

我尝试过的CSS:

.menu .nav-pills .dropdown .open .dropdown-toggle{
    background-color: red;
}
我的选择器哪里出了问题?

也许我有点困惑,但是 dropdown-toggle 指向一个 a 标签,而下拉菜单内容本身在 ul.dropdown-menu 元素之外? - Jared Farrish
是的,dropdown-toggle 只用于打开下拉菜单。- http://twitter.github.com/bootstrap/components.html#navs - Denys Medynskyi
对的,看看你的选择器:.menu .nav-pills .dropdown .open .dropdown-toggle。难道不应该是.menu .nav-pills .dropdown .dropdown-menu吗? - Jared Farrish
你不明白我的问题。我会给你一个屏幕。 - Denys Medynskyi
不要这样做,使用http://jsfiddle.net。`.open`类的元素在哪里?你的选择器根本没有意义。 - Jared Farrish
5个回答

37

如果您正在使用最新版本的Bootstrap,请使用此类。

    .dropdown-toggle:active, .open .dropdown-toggle {
        background:#FFF !important; 
        color:#000 !important;
    }

它解决了我的问题,也许它可以帮助你。


2

这对我也起作用:

.dropdown-toggle[aria-expanded="true"] {
  background:#FFF !important;
  color:#000 !important;
}

如果您有多个下拉菜单,最佳解决方案! - Jonyx4

1

这是您的问题:

#original.menu .nav-pills .dropdown .open .dropdown-toggle {
    border: 1px solid blue;
}

#suggested.menu .nav-pills .dropdown .dropdown-toggle {
    border: 1px solid red;
}

http://jsfiddle.net/userdude/mjbN7/

.open在元素链中不存在。

这是您的fiddle代码,其中包含边框(它既有.open,也没有border-styleborder-width来进行样式设置):

http://jsfiddle.net/userdude/bdCMU/4/


我还想问你一件事——如何使选择列表看起来与下拉菜单相同?是否可以只在选择列表中使用导航标签? - Denys Medynskyi

0

这对我有用:

/*
* nav-pills
*/
.nav-pills 
{
    padding-top: 2px;
    padding-bottom: 2px;
    height:32px;
}
.nav-pills > li 
{
    height:32px;
}
.nav-pills > li > a 
{
    padding-top: 6px;
    color: white;
    background-color: #4e5664;
    height:32px;
}
.nav-pills > li > a:hover, 
.nav-pills > li.hover > a 
{
    color: white;
    background-color: #337ab7;
}
.nav-pills > li.active > a 
{
    color: white;
    background-color: #337ab7;
}

/*
* nav-pills dropdown 
*/
.nav.nav-pills > li.dropdown.active.open > a, 
.nav.nav-pills > li.dropdown.active.open > ul.dropdown-menu a:hover,
.nav.nav-pills > li.dropdown.open > a, 
.nav.nav-pills > li.dropdown.open > ul.dropdown-menu a:hover 
{
    color: white;
    background-color: #337ab7;
}
.nav.nav-pills > li.dropdown.active.open > a, 
.nav.nav-pills > li.dropdown.active.open > ul.dropdown-menu a:hover,
.nav.nav-pills > li.dropdown.open > a, 
.nav.nav-pills > li.dropdown.open > ul.dropdown-menu a:hover 
{
    color: white;
    background-color: #337ab7;
}

/*
* nav-pills dropdown-menu
*/
.nav-pills > li > ul.dropdown-menu 
{
    background-color: #4e5664;
}
.nav-pills > li > .dropdown-menu > li > a {
    color: white;

    background-color: #4e5664;
}
.nav-pills > li > dropdown-menu > li > a:hover, 
.nav-pills > li > dropdown-menu > li.hover > a 
{
    color: white;
    background-color: #337ab7;
}
.nav-pills > li  > dropdown-menu > li.active > a 
{
    color: white;
    background-color: #337ab7;
}

sample: http://wp.rstecinfo.com.br/wp-content/uploads/2018/08/nav-pills.png


0
.nav-pills .open .dropdown-toggle, .nav > .open.active > a:hover {
    background-color:#222;
    border-color: #333;
    }

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接