2012-07-02 26 views
10

Quando Dropdown è aperto - Voglio cambiare il colore predefinito di esso. Voglio cambiare il colore e lo sfondo del bordo usando css.Come cambiare il colore del menu a discesa Bootstrap aperto?

enter image description here

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

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

mio css, che ho provato:

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

Dove è problema nel mio selettori?

+0

Forse sono confuso, ma 'punti discesa-toggle' a un' a' tag, ma il contenuto discesa è di per sé al di fuori che nel 'ul. elemento dropdown-menu'? –

+0

sì, l'interruttore a discesa è disponibile solo per il menu a discesa di apertura. - http://twitter.github.com/bootstrap/components.html#navs – skrypalyk

+0

Diritto; guarda il tuo selettore: '.menu .nav-pills .dropdown .open .dropdown-toggle' Non dovrebbe essere' .menu .nav-pills .dropdown .dropdown-menu'? –

risposta

1

Ecco il 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 non esiste nella catena elemento.

E qui è il vostro violino con il bordo (che aveva sia la .open e nessun border-style o border-width allo stile):

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

+0

Voglio chiederti un altro esempio: come posso rendere l'elenco di selezione simile a questo elenco a discesa? È possibile usare solo pillole nav in liste selezionate? – skrypalyk

+0

Hai solo bisogno di indirizzare quegli elementi: http://jsfiddle.net/userdude/bdCMU/5/ –

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

utilizzare questa classe se si utilizza l'ultima versione di bootstrap.

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

Risolve il mio problema, forse ti aiuterà.

+1

funziona ancora con bootstrap 3.3.6 –

+0

mi ha aiutato, grazie! – brainvision

-1

questo ha funzionato anche per me:

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