2012-07-02 139 views
10

Cuando se abre el menú desplegable, quiero cambiar el color predeterminado. Quiero cambiar el color y el fondo del borde usando css.¿Cómo cambiar el color de la lista desplegable de Bootstrap abierta?

enter image description here

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

Aquí es código 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> 

Mi css, que he intentado:

.menu .nav-pills .dropdown .open .dropdown-toggle{ 
    background-color: red; 
} 

¿Dónde está problema en mis selectores?

+0

Tal vez estoy confundido, pero 'puntos desplegable-toggle' a un' a 'etiqueta, pero el contenido en sí es desplegable exterior que en el' ul. dropdown-menu' element? –

+0

sí, el menú desplegable solo es para abrir el menú desplegable. - http://twitter.github.com/bootstrap/components.html#navs – skrypalyk

+0

Derecha; mira tu selector: '.menu.nav-pills .dropdown .open .dropdown-toggle' ¿No debería ser' .menu.nav-pills .dropdown .dropdown-menu'? –

Respuesta

1

Aquí es su problema:

#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 no existe en la cadena de elemento.

Y aquí es su violín con la frontera (que tenía tanto la .open y sin border-style o border-width de estilo):

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

+0

Quiero hacerte una pregunta más: ¿cómo puedo hacer que la lista de selección tenga el mismo aspecto que esta lista desplegable? ¿Es posible usar píldoras de navegación en listas de selección? – skrypalyk

+0

Solo necesita apuntar a esos elementos: http://jsfiddle.net/userdude/bdCMU/5/ –

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

Utilice esta clase si está utilizando la versión más reciente de Oreja.

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

Resuelve mi problema, tal vez te ayude.

+1

todavía funciona con bootstrap 3.3.6 –

+0

me ha ayudado, ¡gracias! – brainvision

-1

Esto funcionó para mí, también:

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