2012-07-02 8 views
10

Po otwarciu menu rozwijanego - chcę zmienić jego domyślny kolor. Chcę zmienić kolor obramowania i tło przy użyciu css.Jak zmienić kolor otwartego przełącznika rozwijanego Bootstrap?

enter image description here

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

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

Moje css, że próbowałem:

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

Gdzie jest problem w moich selektorów?

+0

Może jestem zdezorientowany, ale 'punkty rozwijana-toggle' do' A' tagu, ale zawartość jest rozwijana sama poza, że ​​w 'ul. element menu "dropdown-menu"? –

+0

Tak, menu rozwijane służy tylko do otwierania menu rozwijanego. - http://twitter.github.com/bootstrap/components.html#navs – skrypalyk

+0

Prawo; spójrz na swój selektor: '.menu .nav-pills .dropdown .open .dropdown-toggle' Nie powinno to być' .menu .nav-pills .dropdown .dropdown-menu'? –

Odpowiedz

1

Oto problem:

#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 nie istnieje w łańcuchu elementów.

I tu jest twoje skrzypce z granicą (który miał zarówno .open i nie border-style lub border-width do stylu):

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

+0

Chcę jeszcze raz zapytać o cienie - jak mogę sprawić, by lista wyboru wyglądała tak samo jak te listy rozwijane? Czy można używać tabletek nawigacyjnych na wybranych listach? – skrypalyk

+0

Trzeba tylko kierować te elementy: http://jsfiddle.net/userdude/bdCMU/5/ –

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

użyć tej klasy, jeśli korzystasz z najnowszej wersji Bootstrap.

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

Rozwiązuje to mój problem, może ci to pomoże.

+1

nadal działa z bootstrap 3.3.6 –

+0

pomógł mi, dzięki! – brainvision

-1

ten pracował dla mnie, zbyt:

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