Bootstrap 4设置最适合移动设备的折叠切换导航栏

时间:2018-09-07 09:30:36

标签: bootstrap-4 navbar collapse

我正在使用bootstrap 4,但是我无法实现某些目标。

我在顶部有一个简单的导航栏菜单,在左侧有一个徽标,在右侧有一个下拉菜单以选择语言。在最常见的行为(台式机/笔记本电脑使用)中,它看起来还不错(图1),徽标右侧是菜单链接,屏幕右侧是语言选择器,但是当您调整窗口大小(强制移动出现)并且菜单折叠时,菜单框会停留到导航栏的中间(图2),但是我想实现的是折叠菜单框切换到屏幕的最右侧,然后立即在其左侧切换语言选择器下拉菜单。

Figure 1

Figure 2

我的代码:

<nav class="navbar navbar-expand-md bg-dark navbar-dark">
  <!-- Brand -->
  <a class="navbar-brand" href="https://www.cirsa.com/" target="_blank">
    <img src="../../../assets/cirsa_logo.png" />
  </a>

  <button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#collapsibleNavbar">
    <span class="navbar-toggler-icon"></span>
  </button>

  <!-- Navbar links -->
  <div class="collapse navbar-collapse" id="collapsibleNavbar">
    <ul class="navbar-nav">
      <li class="nav-item">
        <a class="nav-link" href="#">Link</a>
      </li>
      <li class="nav-item">
        <a class="nav-link" href="#">Link</a>
      </li>
      <li class="nav-item">
        <a class="nav-link" href="#">Link</a>
      </li>
    </ul>
  </div>

  <select class="selectpicker" data-width="auto" data-style="btn-primary" #langSelect (change)="cirsaApp.translate.use(langSelect.value)">
    <option *ngFor="let lang of cirsaApp.translate.getLangs(); let i = index" [value]="lang" [selected]="lang === cirsaApp.translate.currentLang">{{cirsaApp._countries[i]}}</option>
  </select>

</nav>

有帮助吗?

谢谢。

1 个答案:

答案 0 :(得分:0)

使用flexbox排序(order-*)类来根据需要快速对齐项目...

<nav class="navbar navbar-expand-md bg-dark navbar-dark">
  <a class="navbar-brand" href="https://www.cirsa.com/" target="_blank">
    <img src="http://placehold.it/80x30" />
  </a>
  <button class="navbar-toggler order-last order-md-0" type="button" data-toggle="collapse" data-target="#collapsibleNavbar">
    <span class="navbar-toggler-icon"></span>
  </button>
  <div class="collapse navbar-collapse order-last order-md-0" id="collapsibleNavbar">
    <ul class="navbar-nav">
      <li class="nav-item">
        <a class="nav-link" href="#">Link</a>
      </li>
      <li class="nav-item">
        <a class="nav-link" href="#">Link</a>
      </li>
      <li class="nav-item">
        <a class="nav-link" href="#">Link</a>
      </li>
    </ul>
  </div>
  <select class="selectpicker ml-auto" data-width="auto" data-style="btn-primary" #langSelect (change)="cirsaApp.translate.use(langSelect.value)">
    <option *ngFor="let lang of cirsaApp.translate.getLangs(); let i = index" [value]="lang" [selected]="lang === cirsaApp.translate.currentLang">{{cirsaApp._countries[i]}}</option>
  </select>
</nav>

https://www.codeply.com/go/acMidnkl1M


Bootstrap NavBar with left, center or right aligned items

相关问题