2012-12-27 14 views
13

Próbuję zrozumieć różnicę między rozwijanymi menu Bootstrap na Twitterze, gdy są one zawarte w pasku nawigacyjnym, a gdy nie są.Co jest tajemnicą menu rozwijanego Bootstrap?

Po umieszczeniu ich w pasku nawigacyjnym w rozwiniętym menu wyświetlany jest mały trójkąt/strzałka w górę. Ten trójkąt nie pokazał kiedy jest używany bez navbar:

http://twitter.github.com/bootstrap/javascript.html#dropdowns

Właśnie spędziłem dwie godziny zwiedzania css/html, ja nadal nie rozumiem dlaczego ...

jakiś pomysł?

+1

Czy możesz dodać zrzuty ekranu obu scenariuszy? – Zeta

+0

Link przekierowuje do strony z rozwijaną dokumentacją Bootstrap na Twitterze. Możesz zobaczyć obie działające scenariusze: http://twitter.github.com/bootstrap/javascript.html#dropdowns – Max

Odpowiedz

23

Istnieją dwa style stosowane do menu rozwijanego, gdy znajduje się wewnątrz elementu nav. Są one następujące:

.navbar .nav > li > .dropdown-menu::before { 
    position: absolute; 
    top: -7px; 
    left: 9px; 
    display: inline-block; 
    border-right: 7px solid transparent; 
    border-bottom: 7px solid #CCC; 
    border-left: 7px solid transparent; 
    border-bottom-color: rgba(0, 0, 0, 0.2); 
    content: ''; 
} 
.navbar .nav > li > .dropdown-menu::after { 
    position: absolute; 
    top: -6px; 
    left: 10px; 
    display: inline-block; 
    border-right: 6px solid transparent; 
    border-bottom: 6px solid white; 
    border-left: 6px solid transparent; 
    content: ''; 
    } 

Tworzą dwa trójkąty jeden na drugim, jeden jasnoszary, drugi ciemnoszary. Jeśli używasz narzędzi programistycznych Chrome, możesz sprawdzić te elementy i wyłączyć różne style, aby poczuć, co robią. Te style nie są stosowane bez paska nawigacyjnego

+0

Tak, nie widziałem tego! Fajne dzięki :) – Max

-1

Trójkąt może być generowany przez następującą składnię:

<b class="caret dropdown-toggle"></b> 
+0

Brak karetki to odwrócony trójkąt obok tekstu przycisku. Mówiłem o białym trójkącie na rozszerzonej baniek w menu. ale i tak dzięki – Max

4

Wystarczy dodać to do CSS i będzie można korzystać z menu rozwijanego strzałkę bez umieszczenia rozwijaną wewnątrz pasek nawigacji

.dropdown-menu:before { 
    position: absolute; 
    top: -7px; 
    left: 9px; 
    display: inline-block; 
    border-right: 7px solid transparent; 
    border-bottom: 7px solid #CCC; 
    border-left: 7px solid transparent; 
    border-bottom-color: rgba(0, 0, 0, 0.2); 
    content: ''; 
} 

.dropdown-menu:after { 
    position: absolute; 
    top: -6px; 
    left: 10px; 
    display: inline-block; 
    border-right: 6px solid transparent; 
    border-bottom: 6px solid white; 
    border-left: 6px solid transparent; 
    content: ''; 
    } 

.dropdown-menu:before, .dropdown-menu.pull-right:before { 
right: 12px; 
left: auto; 
} 

.dropdown-menu::after, .dropdown-menu.pull-right:after { 
right: 13px; 
left: auto; 
} 
Powiązane problemy