导航栏水平折叠并显示导航项



我有一个带有按钮和nav brand的导航栏,当我单击按钮时,项目会显示在下面,因为它正在垂直折叠,但我需要它水平折叠。我在这里看到了一些问题,但仍然无法实现我需要的。

这是我需要的草图

<nav class="navbar navbar-light" style="background-color: #2C3E50 ;">
    <button class="navbar-toggler navbar-toggler-left" type="button" data-toggle="collapse" data-target="#navbarNav" aria-controls="#navbarNav" aria-expanded="false" aria-label="Toggle navigation"> <span class="navbar-toggler-icon "></span> </button>
    <h1 class="navbar-brand mb-0 move-header ">NavBrand</h1>
    <div class="collapse width" id="navbarNav">
        <ul class="navbar-nav">
            <li class="nav-item active"> <a class="nav-link" href="#">Home <span class="sr-only">(current)</span></a> </li>
            <li class="nav-item"> <a class="nav-link" href="#">Features</a> </li>
            <li class="nav-item"> <a class="nav-link" href="#">Pricing</a> </li>
            <li class="nav-item"> <a class="nav-link disabled" href="#">Disabled</a> </li>
        </ul>
    </div>
</nav>

//.css

     .navbar {
    margin-top: 40px;
    display: inline-block;
}
    .navbar {
    border-bottom-right-radius: 200px;
    border-top-right-radius: 200px;
}

您可以使用以下技术执行此操作:

.navbar-nav { white-space: nowrap; }
.nav-item { display: inline-block; }

或使用弹性框:

.navbar-nav { display: flex; flex-flow: row nowrap; }

第一种解决方案可防止行断开,并指定菜单项具有内联行为。第二种解决方案基于弹性框布局的使用。


更新

使用引导程序 4,您需要更多修改,添加以下内容:

.navbar-nav {
  flex-flow: row nowrap;
}
.navbar {
    flex-flow: row nowrap;
    display: inline-flex;
}

最新更新