Twitter Bootstrap dropdown va en dehors de l'écran
Je veux implémenter le menu déroulant twitter bootstrap, voici mon code:
<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 fonctionne bien, ma liste déroulante est placée à côté du bord droit de l'écran et lorsque je clique sur mon dropdown-toggle, la liste sort de l'écran. Il ressemble à l'écran:
Comment puis-je résoudre ce problème?
126
demandé sur
Judah Himango
2012-12-10 22:19:14
6 réponses
, Vous pouvez utiliser la classe .dropdown-pull-right
avec css suivante:
.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>
9
répondu
Mohan Dere
2017-07-14 11:11:51
Une solution qui n'a pas besoin de modifier le HTML seul le CSS est
li.dropdown:last-child .dropdown-menu {
right: 0;
left: auto;
}
C'est particulièrement utile pour les menus générés dynamiquement où il n'est pas toujours possible d'ajouter la classe recommandée dropdown-menu-right
au dernier élément
8
répondu
GiorgosK
2017-03-23 13:35:31
Pour Bootstrap 4, l'ajout de dropdown-menu-right
fonctionne. Voici un exemple de travail..
5
répondu
praj
2018-03-09 21:03:47