2017-10-09 9 views
1

Le dernier Boostrap 4 et popper.js au moment de l'écriture sont chargés à partir de CDN.Bootstrap 4: Le menu déroulant n'est pas aligné à droite à l'intérieur de nav.navbar

Codepen here.

Problème.

Mon code déroulant:

<div class="btn-group"> 
    <button type="button" class="btn btn-secondary dropdown-toggle" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">This dropdown's menu is right-aligned</button> 
    <div class="dropdown-menu dropdown-menu-right"> 
     <button class="dropdown-item" type="button">Action</button> 
     <button class="dropdown-item" type="button">Another action</button> 
     <button class="dropdown-item" type="button">Something else here</button> 
    </div> 
</div> 

Je positionnement à l'intérieur <nav class="navbar"> et il est juste rincée:

<nav class="navbar navbar-expand-lg navbar-light bg-light"> 
    <a class="navbar-brand" href="#">Navbar</a> 
    <button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarSupportedContent" aria-controls="navbarSupportedContent" aria-expanded="false" aria-label="Toggle navigation"> 
    <span class="navbar-toggler-icon"></span> 
    </button> 

    <div class="collapse navbar-collapse" id="navbarSupportedContent"> 
    <div class="btn-group ml-auto"> 
     <button type="button" class="btn btn-secondary dropdown-toggle" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">Welcome</button> 
     <div class="dropdown-menu dropdown-menu-right"> 
      <button class="dropdown-item" type="button">Action</button> 
      <button class="dropdown-item" type="button">Another action</button> 
      <button class="dropdown-item" type="button">Something else here</button> 
     </div> 
    </div> 
    </div> 
</nav> 

Le problème est que lorsque vous cliquez sur « Bienvenue », le menu déroulant va en dehors du bord droit de l'écran, malgré menu déroulant-droit classe dessus.

La solution proposée here ne fonctionne pas ({margin: 0} n'aide pas).

Question.

Comment puis-je m'assurer que le menu déroulant ne dépasse pas le bord droit de l'écran?

Merci!

Répondre

0

Voici une solution plutôt brute mais qui fonctionne parfaitement à votre problème.

.dropdown-menu-right{ 
    left: -85px; 
} 

Edit: Je l'ai mis dans une requête de médias afin que la baisse ne semble pas vers le bas de rabais sur mobile.

@media screen and (min-width: 991px) { 
    .dropdown-menu-right{ 
    left: -85px; 
    } 
} 
0

Je n'ai pas travaillé celui-là non plus. Cependant, une solution de contournement que j'utilise et jusqu'à présent résout le problème partout est:

.dropdown-menu-right { 
    right:0; 
    left:auto; 
}