创建具有两行的响应式Bootstrap导航栏

时间:2016-12-23 12:12:43

标签: twitter-bootstrap twitter-bootstrap-3 navbar

我正在尝试创建一个基于Bootstrap 3的响应式导航栏,其中包含两行。但是,我在使用HTML结构和折叠功能时遇到了问题。

下面是对所需结果的直观描述,我希望有人可以指出我在HTML / CSS方面的正确方向(尽可能使用默认的Bootstrap功能)。

基本上,菜单需要执行以下操作:

  • 在平板电脑/桌面设备上,第一行是徽标和菜单 小二级链接(Link1-3)。第二行是主菜单 主要链接(LinkA-E)。

  • 在移动设备上,经典的折叠设计应该如此 带有徽标和汉堡包图标。扩展菜单应该 首先显示主链接(LinkA-E),然后显示辅助链接 (Link1-3)最后一次。

平板电脑/桌面设备:

|----------------------------------------------------------|
|  LOGO/BRAND                         Link1  Link2  Link3  |
|----------------------------------------------------------|
|  LinkA  LinkB  LinkC  LindD  LinkE                       |
|----------------------------------------------------------|

移动设备(已折叠):

|--------------------------------------|
|  LOGO/BRAND               HAMBURGER  |
|--------------------------------------|

移动设备(已扩展):

|--------------------------------------|
|  LOGO/BRAND               HAMBURGER  |
|--------------------------------------|
|  LinkA                               |
|  LinkB                               |
|  LinkC                               |
|  LinkD                               |
|  LinkE                               |
|--------------------------------------|
|  Link1                               |
|  Link2                               |
|  Link3                               |
|--------------------------------------|

1 个答案:

答案 0 :(得分:11)

如果我有你的项目的html / css我用它来展示你应该怎么做,但在这种情况下这个HTML 来自static navbar example of Bootstrap v3.3.7

实际上,这个想法是将<div id="navbar" class="navbar-collapse collapse">放在<div class="navbar-header">下面的行中,浮动并宽度为其空间的100%,然后用<ul class="nav navbar-nav navbar-right">拉出margin-top: -50px;

通过该媒体查询,我们确信它在移动设备中的行为正确。

<强> HTML

<div class="container-fluid">
  <div class="navbar-header">
    <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar" aria-expanded="false" aria-controls="navbar">
      <span class="sr-only">Toggle navigation</span>
      <span class="icon-bar"></span>
      <span class="icon-bar"></span>
      <span class="icon-bar"></span>
    </button>
    <a class="navbar-brand" href="#">Logo/Brand</a>
  </div>
  <div id="navbar" class="navbar-collapse collapse">
    <ul class="nav navbar-nav">
      <li><a href="#">LinkA</a></li>
      <li><a href="#">LinkB</a></li>
      <li><a href="#">LinkC</a></li>
      <li><a href="#">LinkD</a></li>
      <li><a href="#">LinkE</a></li>
    </ul>
    <ul class="nav navbar-nav navbar-right">
      <li><a href="#">Link1</a></li>
      <li><a href="#">Link2</a></li>
      <li><a href="#">Link3</a></li>
    </ul>
  </div><!--/.nav-collapse -->
</div>

<强> CSS

.navbar-collapse {
    float: left;
    width: 100%;
    clear: both;
}

@media (min-width: 768px) {
    .navbar-right {
        margin-top: -50px;
    }
}

JUST 让我知道它是否有效。