2016-12-30 296 views
0

我有一个关于BS4和可折叠菜单对齐的问题。Bootstrap V4可折叠导航栏对齐

这里是我的代码:

<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

亲切的问候, 克里斯

回答

0

取决于你使用的引导4的版本,语法已更改为浮动 - ** - 右(见Responsive floats)作为当前V4的.0.0-alpha.5,请参阅Utilities overhaul下的这篇文章。

另一个问题是,对navbar-toggler按钮使用响应(浮动)实用程序时,列表项将出现在navbar-brand旁边,而不是在其下方。截至目前,我相信你必须通过清除正确的断点内的浮点数来解决崩溃问题。

范例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

感谢兄弟。任何想法,为什么需要一段时间,直到下拉菜单在右侧?它从左侧开始并向右侧移动。 –

+0

我不确定你的意思。在我发布的示例中,我没有看到类似的内容。 – vanburen

+0

我只是保持在左边;-)感谢队友 –