Oto efekt, który staramy się osiągnąć:
Klasy, które należy zastosować, zmieniły się wraz z wydaniem Bootstrap 3.1.0 i ponownie wraz z wydaniem Bootstrap 4. Jeśli jedno z poniższych rozwiązań nie działa, sprawdź dwukrotnie numer wersji programu Bootstrap, który importujesz i spróbuj innego.
Bootstrap 3
Przed wersją 3.1.0
Możesz użyć pull-right
klasy, aby wyrównać prawą stronę menu z daszkiem:
<li class="dropdown">
<a class="dropdown-toggle" href="#">Link</a>
<ul class="dropdown-menu pull-right">
<li>...</li>
</ul>
</li>
Skrzypce: http://jsfiddle.net/joeczucha/ewzafdju/
Po wersji 3.1.0
Od wersji 3.1.0 wycofaliśmy .pull-right w menu rozwijanych. Aby wyrównać menu do prawej, użyj .dropdown-menu-right. Komponenty nawigacyjne wyrównane do prawej na pasku nawigacyjnym używają mieszanej wersji tej klasy, aby automatycznie wyrównać menu. Aby to zmienić, użyj .dropdown-menu-left.
Możesz użyć dropdown-right
klasy, aby wyrównać prawą stronę menu z daszkiem:
<li class="dropdown">
<a class="dropdown-toggle" href="#">Link</a>
<ul class="dropdown-menu dropdown-menu-right">
<li>...</li>
</ul>
</li>
Skrzypce: http://jsfiddle.net/joeczucha/1nrLafxc/
Bootstrap 4
Klasa dla Bootstrap 4 jest taka sama jak Bootstrap> 3.1.0, po prostu uważaj, ponieważ reszta otaczających znaczników nieco się zmieniła:
<li class="nav-item dropdown">
<a class="nav-link dropdown-toggle" href="#">
Link
</a>
<div class="dropdown-menu dropdown-menu-right">
<a class="dropdown-item" href="#">...</a>
</div>
</li>
Skrzypce: https://jsfiddle.net/joeczucha/f8h2tLoc/
class="dropdown"
było dla mnie kluczem do uzyskania odpowiedniego ustawieniaNie jestem pewien, jak inni ludzie rozwiązują ten problem lub czy Bootstrap ma do tego konfigurację.
Znalazłem ten wątek, który zapewnia rozwiązanie:
https://github.com/twbs/bootstrap/issues/1411
Jeden z postów sugeruje użycie
Testowałem i działa.
Mam nadzieję, że dowiemy się, czy Bootstrap zapewnia konfigurację do tego, a nie przez powyższy css.
Twoje zdrowie.
źródło
Na podstawie dokumentacji Bootstrap:
Od wersji 3.1.0 .pull-right jest przestarzałe w menu rozwijanych. użyj .dropdown-menu-right
na przykład:
źródło
Jeśli chcesz wyświetlić menu w górę, po prostu dodaj klasę „dropup”
i usuń klasę „dropdown”, jeśli istnieje z tego samego div.
źródło
Nawet jeśli jest późno, mam nadzieję, że mogę komuś pomóc. jeśli menu rozwijane lub podmenu znajduje się po prawej stronie ekranu, jest otwarte po lewej stronie, jeśli menu lub podmenu jest po lewej stronie, jest otwarte po prawej stronie.
Aby wykryć pozycję w pionie, możesz również dodać
https://jsfiddle.net/jd1100/rf9zvdhg/28/
źródło
Boostrap ma klasę o nazwie
navbar-right
. Twój kod będzie więc wyglądał następująco:źródło
Jeśli chcesz wyśrodkować menu, to jest rozwiązanie.
źródło