2016-12-30 2 views
0

У меня вопрос о BS4 и выравнивание складного меню.Bootstrap V4 складной Navbar выравнивание

Вот код, который я получил:

<nav class="navbar navbar-light navbar-fixed-top"> 
    <div class="container"> 

    <button type="button" class="navbar-toggler hidden-sm-up pull-xs-right" 
      data-toggle="collapse" data-target=".nav-content"> 
       <span class="icon-bar"></span> 
       <span class="icon-bar"></span> 
       <span class="icon-bar"></span> 
    </button> 
    <a class="navbar-brand" href="#">Test</a> 

    <div class="collapse navbar-toggleable-xs nav-content"> 
     <ul class="nav navbar-nav"> 
     <li class="nav-item"> 
      <a class="nav-link active" href="#">Home</a> 
     </li> 
     <li class="nav-item"> 
      <a class="nav-link" href="#">Leagues</a> 
     </li> 
     <li class="nav-item"> 
      <a class="nav-link" href="#">Login</a> 
     </li> 
     </ul> 
    </div> 
    </div> 
</nav> 

Basic without

Проблема в том, что я хочу, чтобы иметь пункты меню (если не развалились), выровненные вправо и, когда разрушилась, к слева, но ниже кнопки «Гамбургер» и главного навигатора. Он отлично работал с BS 3.

Я пробовал его с float-xs-right, но он все еще не работает должным образом.

With float right

С наилучшими пожеланиями, Chris

ответ

0

В зависимости от версии вы используете бутстраповский 4, синтаксис изменились плавать - ** - право (См Responsive floats) в текущих v4 .0.0-alpha.5, см. Этот пост под Utilities overhaul.

Другая проблема заключается в том, что при использовании утилиты Responsive (float) против кнопки navbar-toggler элементы списка будут отображаться рядом с navbar-brand, а не ниже. На данный момент я считаю, что вы должны справиться с этим сами, очистив float в правильной точке останова для вашего краха.

Пример CSS:

@media (max-width: 574px) { 
    .navbar-header:after, 
    .navbar-header:before { 
     display: table; 
     content: " " 
    } 
    .navbar-header:after { 
     clear: both 
    } 
} 

Рабочий пример:

@media (max-width: 574px) { 
 
    .navbar-header:after, 
 
    .navbar-header:before { 
 
    display: table; 
 
    content: " " 
 
    } 
 
    .navbar-header:after { 
 
    clear: both 
 
    } 
 
}
<link rel="stylesheet" type="text/css" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0-alpha.5/css/bootstrap.min.css"> 
 

 
<nav class="navbar navbar-light navbar-fixed-top"> 
 
    <div class="container"> 
 

 
    <div class="navbar-header"> 
 
     <a class="navbar-brand" href="#">BRAND</a> 
 

 
     <button class="navbar-toggler hidden-sm-up float-xs-right" type="button" data-toggle="collapse" data-target="#nav-content" aria-controls="nav-content" aria-expanded="false" aria-label="Toggle navigation"></button> 
 
    </div> 
 

 
    <div class="collapse navbar-toggleable-xs" id="nav-content"> 
 

 
     <ul class="nav navbar-nav float-sm-right"> 
 
     <li class="nav-item"> 
 
      <a class="nav-link" href="#">ABOUT</a> 
 
     </li> 
 
     <li class="nav-item"> 
 
      <a class="nav-link" href="#">BLOG</a> 
 
     </li> 
 
     <li class="nav-item"> 
 
      <a class="nav-link" href="#">LOGIN</a> 
 
     </li> 
 
     <li class="nav-item"> 
 
      <a class="nav-link" href="#">SIGN UP FREE</a> 
 
     </li> 
 
     </ul> 
 
    </div> 
 

 
    </div> 
 
</nav> 
 

 
<script src="https://cdnjs.cloudflare.com/ajax/libs/tether/1.4.0/js/tether.min.js"></script> 
 
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script> 
 
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0-alpha.5/js/bootstrap.min.js"></script>

+0

Благодаря Bro. Любая идея, почему это занимает некоторое время, пока выпадающее меню не будет справа? он начинается слева и перемещается вправо. –

+0

Я не уверен, что вы имеете в виду. Я не вижу ничего подобного в приведенном выше примере. – vanburen

+0

Я просто держу его слева ;-) Спасибо, товарищ –