左侧和右侧导航栏项目左侧的Bootstrap 3 Navbar Collapse菜单

时间:2015-07-08 21:29:36

标签: javascript html css twitter-bootstrap-3 navbar

我有一个带有左侧导航项和右侧导航项的Bootstrap 3导航栏(如下所示)。

Left and Right nav items

折叠时,我希望导航栏切换(AKA'汉堡菜单')及其项目保持对齐。

到目前为止我的代码:

<nav class="navbar navbar-default custom-navbar" role="navigation">
  <div class="navbar-header">
    <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
      <span class="icon-bar"></span>
      <span class="icon-bar"></span>
      <span class="icon-bar"></span>
    </button>    
  </div>
  <div class="navbar-collapse collapse">
    <ul class="nav navbar-nav">
        <li><a href="#">Left</a></li>
        <li><a href="#about">Left</a></li>
    </ul>
    <ul class="nav navbar-nav pull-right">
      <li><a href="#about">Right</a></li>
      <li><a href="#contact">Right</a></li>
    </ul>
  </div>
</nav>

左侧导航栏切换的CSS是:

@media (max-width:767px) {
    .custom-navbar .navbar-right {
        float: right;
        padding-right: 15px;
    }
    .custom-navbar .nav.navbar-nav.navbar-right li {
        float: left;
    }
    .custom-navbar .nav.navbar-nav.navbar-right li > a {
        padding:8px 5px;
    }
    .custom-navbar .navbar-toggle {
        float: left;
        margin-right: 0
    }
    .custom-navbar .navbar-header {
        float: left;
        width: auto!important;
    }
    .custom-navbar .navbar-collapse {
        clear: both;
        float: none;
    }
}

我添加了“右拉”样式,让项目保持一致,但没有成功。

“navbar-right”效果很糟糕。事实上,有了它,我将在同一行上有两个右手项目。 使用“向右拉”它们可以作为单行工作,但仍然保持在右侧。

这让我:

  • 左边的汉堡菜单(根据需要),
  • 左侧的导航栏左侧项目(根据需要),
  • 导航栏右侧项目仍在右侧(我希望修复此内容!)。

最终结果:

The last two elements are still on the right

代码段为here

2 个答案:

答案 0 :(得分:4)

我对您的CSS和标记进行了一些调整,您可以查看here

我要指出的一点是,pull-right和其他pullpush类用于重新排列网格列。

答案 1 :(得分:3)

您可以使用!important规则覆盖右拉的默认行为。

@media (max-width:767px) {
 .nav.navbar-nav.pull-right {
   float: left !important;
 }
} 

输出&lt; 768px设备:

Left aligned right text

Bootply