2017-08-16 2 views
3

Ich versuche, ein vertikales Menü mit bootstrap4beta und dropdown-menu aufzubauen. Ich möchte, dass das Dropdown auf der rechten Seite erscheint. Aber mit dropdown-menu-right kann ich es nur in der nächsten Zeile und nicht auf der gleichen Zeile erscheinen lassen. Wie geht das?Wie kann ich dieses Dropdown-Menü in der gleichen Zeile wie seine Eltern erscheinen lassen?

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.11.0/umd/popper.min.js"></script> 
 
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0-beta/js/bootstrap.min.js"></script> 
 
<link href="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0-beta/css/bootstrap.min.css" rel="stylesheet"/> 
 

 
<nav class="nav flex-column col-4 col-sm-4 col-md-4 col-lg-4 col-xl-4"> 
 
    <a class="nav-link active backgroundnav" href="#">HTML</a> 
 
    <a class="nav-link backgroundnav" href="#">CSS</a> 
 
    <a class="nav-link backgroundnav" href="#">JavaScript</a> 
 
    <li class="nav-item dropdown"> 
 
    <a class="nav-link dropdown-toggle backgroundnav" data-toggle="dropdown" href="#" role="button" aria-haspopup="true" aria-expanded="false"> 
 
    Preview 
 
    </a> 
 
    <div class="dropdown-menu dropdown-menu-right" aria-labelledby="Preview"> 
 
     <a class="dropdown-item" href="#">Mobile Phone</a> 
 
     <a class="dropdown-item" href="#">Tablet</a> 
 
     <a class="dropdown-item" href="#">Laptop</a> 
 
     <a class="dropdown-item" href="#">Desktop</a> 
 
    </div> 
 
    </li> 
 
</nav>

Dank.

Antwort

0

Bootstrap 4 popper.js positioniert das Dropdown, so dass es nicht einfach ist, die Positionierung anzupassen. Sie könnten mit einigen CSS wie folgt überschreiben, aber der schwierige Teil besteht darin, den Wert "65%" zu ermitteln, der auf der Breite der Dropdown-Verknüpfung basiert.

.dropdown-menu-side { 
    transform: translateX(65%) !important; 
} 

https://www.codeply.com/go/BI2Gs7viID

Verwandte Themen