Я хочу реализовать раскрывающееся меню twitter bootstrap, здесь мой код:
<span class="dropdown">
<a href="#menu1" class="dropdown-toggle" data-toggle="dropdown" ><img class="left" src="/static/img/topmenu_preferences.png" /><b class="caret"></b></a>
<ul class="dropdown-menu">
<li><a href="#">a</a></li>
<li><a href="#">b</a></li>
<li><a href="#">c</a></li>
<li class="divider"></li>
<li><a href="#">d</a></li>
</ul>
Dropdown работает хорошо, мое раскрывающееся меню расположено рядом с правым краем экрана, и когда я нажимаю на раскрывающийся список, список выходит за пределы экрана. Похоже, на экране:
Как я могу это исправить?
добавление .pull-right
в ul.dropdown-menu
должно сделать это
Уведомление об изнашивании: Начиная с Bootstrap v3.1.0,
.pull-right
в выпадающих меню устарел. Чтобы выровнять по правому краю меню, используйте.dropdown-menu-right
.
Так как Bootstrap v3.1.0 добавление .pull-right
устарело в раскрывающихся меню. A .dropdown-menu-right
следует добавить вместо ul.dropdown-menu
. Документы
.dropdown-pull-right
со следующим css:
.dropdown-pull-right {
float: right !important;
right: 0;
left: auto;
}
.dropdown-pull-right>.dropdown-menu {
right: 0;
left: auto;
}
<link href="https://maxcdn.bootstrapcdn.com/twitter-bootstrap/2.3.1/css/bootstrap-combined.min.css" rel="stylesheet"/>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script src="https://maxcdn.bootstrapcdn.com/twitter-bootstrap/2.3.1/js/bootstrap.min.js"></script>
<div class="dropdown dropdown-pull-right btn-group">
<a class="btn dropdown-toggle" data-toggle="dropdown" href="#">
Open Dropdown
<span class="caret"></span>
</a>
<ul class="dropdown-menu">
<li>Item 1</li>
<li>Item 2</li>
<li>Item 3</li>
</ul>
</div>
решение, которое не нуждается в модификации HTML, только CSS
li.dropdown:last-child .dropdown-menu {
right: 0;
left: auto;
}
Его особенно полезно для динамически создаваемых меню, где его не всегда можно добавить рекомендуемый класс dropdown-menu-right
к последнему элементу
float-*-right
для Bootstrap 4
*
= xs, sm, md, lg
float-right
.