2016-02-05 3 views
0

Принимая код непосредственно с страницы Bootstrap 4 (http://v4-alpha.getbootstrap.com/components/dropdowns/), у меня есть выпадающее меню, настройка и работа, однако выпадающие окна расположены слева от страницы, а не непосредственно ниже кнопка. Не знаю, почему. Кто-нибудь знает, что я должен сделать, чтобы исправить это? JSFiddle показывает проблему: https://jsfiddle.net/1m0g2fvh/Невозможно установить правильное положение в Bootstrap 4.0

Попутный HTML с использованием стандартной начальной загрузки 4:

<!DOCTYPE html> 
<html lang="en"> 
    <head> 
    <!-- Required meta tags always come first --> 
    <meta charset="utf-8"> 
    <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"> 
    <meta http-equiv="x-ua-compatible" content="ie=edge"> 

    <!-- Bootstrap CSS --> 
    <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0-alpha.2/css/bootstrap.min.css" integrity="sha384-y3tfxAZXuh4HwSYylfB+J125MxIs6mR5FOHamPBG064zB+AFeWH94NdvaCBm8qnd" crossorigin="anonymous"> 
    </head> 
    <body> 
    <nav class="navbar navbar-dark bg-inverse"> 
    <a class="navbar-brand" href="#">Navbar</a> 
    <ul class="nav navbar-nav"> 
    <li class="nav-item active"> 
     <a class="nav-link" href="#">Home <span class="sr-only">(current)</span></a> 
    </li> 
    <li class="nav-item"> 
     <button class="btn btn-secondary dropdown-toggle bg-inverse" style="border:none;" type="button" id="dropdownMenu1" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false"> 
    Dropdown 
    </button> 
    <div class="dropdown-menu dropdown-menu" aria-labelledby="dropdownMenu1" > 
    <a class="dropdown-item" href="#">Action</a> 
    <a class="dropdown-item" href="#">Another action</a> 
    <a class="dropdown-item" href="#">Something else here</a> 
    </div> 
    </li> 
    <li class="nav-item"> 
     <a class="nav-link" href="#">Pricing</a> 
    </li> 
    <li class="nav-item"> 
     <a class="nav-link" href="#">About</a> 
    </li> 
    </ul> 
    <form class="form-inline pull-xs-right"> 
    <input class="form-control" type="text" placeholder="Search"> 
    <button class="btn btn-success-outline" type="submit">Search</button> 
    </form> 
</nav> 

    <!-- jQuery first, then Bootstrap JS. --> 
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.4/jquery.min.js"></script> 
    <script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0-alpha.2/js/bootstrap.min.js" integrity="sha384-vZ2WRJMwsjRMW/8U7i6PWi6AlO1L79snBrmgiDpgIWJ82z8eA5lenwvxbMV1PAh7" crossorigin="anonymous"></script> 
    </body> 
</html> 

ответ

3

Добавить класс родительского литий dropdown

Wrap триггера в раскрывающемся списке и выпадающее меню в .dropdown, или другой элемент, который объявляет position: relative;. Затем добавьте HTML-код меню.

<li class="nav-item dropdown"> 

https://jsfiddle.net/1m0g2fvh/1/

0

попробовать это один:

<body> 
    <nav class="navbar navbar-dark bg-inverse"> 
    <a class="navbar-brand" href="#">Navbar</a> 
    <ul class="nav navbar-nav"> 
    <li class="nav-item active"> 
     <a class="nav-link" href="#">Home <span class="sr-only">(current)</span></a> 
    </li> 
    <li class="nav-item dropdown"> 
     <button class="btn btn-secondary dropdown-toggle bg-inverse" style="border:none;" type="button" id="dropdownMenu1" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false"> 
    Dropdown 
    </button> 
    <div class="dropdown-menu dropdown-menu" aria-labelledby="dropdownMenu1" > 
    <a class="dropdown-item" href="#">Action</a> 
    <a class="dropdown-item" href="#">Another action</a> 
    <a class="dropdown-item" href="#">Something else here</a> 
    </div> 
    </li> 
    <li class="nav-item"> 
     <a class="nav-link" href="#">Pricing</a> 
    </li> 
    <li class="nav-item"> 
     <a class="nav-link" href="#">About</a> 
    </li> 
    </ul> 
    <form class="form-inline pull-xs-right"> 
    <input class="form-control" type="text" placeholder="Search"> 
    <button class="btn btn-success-outline" type="submit">Search</button> 
    </form> 
</nav> 

    <!-- jQuery first, then Bootstrap JS. --> 
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.4/jquery.min.js"></script> 
    <script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0-alpha.2/js/bootstrap.min.js" integrity="sha384-vZ2WRJMwsjRMW/8U7i6PWi6AlO1L79snBrmgiDpgIWJ82z8eA5lenwvxbMV1PAh7" crossorigin="anonymous"></script> 
    </body> 

DEMO HERE

0

В документации к Bootstrap, они говорят, что выравнивание ниспадающего меню должно быть выровнены с помощью CSS. Я попробовал это, и это работает

.dropdown-menu{ margin-left:20%; }

0

Попробуйте добавить этот стиль

.navbar-nav .nav-item+.nav-item{position:relative} 

это работает

Смежные вопросы