Je veux implémenter le menu déroulant de bootstrap de Twitter, 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>
La liste déroulante fonctionne bien, ma liste déroulante est placée à côté du bord droit de l'écran et lorsque je clique sur ma bascule déroulante, la liste sort de l'écran. Cela ressemble à l'écran:
Comment puis-je y remédier?
html
css
twitter-bootstrap
cliquet
la source
la source
Réponses:
ajouter
.pull-right
àul.dropdown-menu
devrait le fairela source
Depuis Bootstrap v3.1.0, l'ajout
.pull-right
est obsolète dans les menus déroulants. A.dropdown-menu-right
doit être ajouté à laul.dropdown-menu
place. Docsla source
<ul class="dropdown-menu dropdown-menu-right">
travaillé pour moi le 4.1.1Pour Bootstrap 4, l'ajout
dropdown-menu-right
fonctionne. Voici un exemple de travail.http://codeply.com/go/w2MJngNkDQ
la source
une solution qui n'a pas besoin de modifier le HTML seul le CSS est
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émentla source
Vous pouvez utiliser la classe
.dropdown-pull-right
avec les css suivants:la source
dans Bootstrap 4, vous pouvez utiliser .dropleft
changez simplement en:
<span class="dropleft">
ou
ajoutez .dropdown-menu- {lg, med, sm, xs} -droite à votre menu déroulant
la source
float-*-right
pour Bootstrap 4*
= xs, sm, md, lgla source
Je ne peux pas laisser de commentaire car mon niveau de SO est trop bas, mais je me suis juste assuré que le conteneur parent est défini sur "overflow: hidden" comme tel (assurez-vous également que la position est définie).
la source