在 Bootstrap 中禁用响应式(移动)导航栏
Disable responsive (mobile) navbar in Bootstrap
有没有办法在 bootstrap 4 中禁用响应式导航栏?我不想要下拉菜单,因为在移动版本中它仍然可以看到品牌旁边的 2 个链接。另外,我想知道是否可以将链接放在栏的右侧。 Pull-xs-right 似乎无法正常工作。
我当前的代码如下所示:
<nav class="navbar navbar-fixed-top navbar-toggleable-sm navbar-light bg-faded">
<a href="/" class="navbar-brand">PIM</a>
<ul class="nav navbar-nav pull-xs-right">
<li class="nav-item"><Link class="nav-link" to="/login">Login</Link></li>
<li class="nav-item"><Link class="nav-link" to="/signup">Sign up</Link></li>
</ul>
</nav>
非常感谢。
我建议只使用 nav
,但如果您需要导航栏的样式,您可以通过添加助手 类 并删除一些使其发挥作用来绕过它你要。这应该在没有切换按钮下拉功能的情况下在移动设备上显示 link 项。
<nav class="navbar navbar-fixed-top navbar-toggleable-sm navbar-light bg-faded">
<a href="/" class="navbar-brand">PIM</a>
<div id="navbarNav" class="navbar-collapse">
<ul class="navbar-nav">
<li class="nav-item">
<Link class="nav-link" to="/login"> Login
</Link>
</li>
<li class="nav-item">
<Link class="nav-link" to="/signup"> Sign up
</Link>
</li>
</ul>
</div>
</nav>
JSFIDDLE供参考。
Bootstrap 5(2021 年更新)
navbar-expand*
class 仍在 Bootstrap 5 中使用。因此,如果您想防止导航栏折叠(垂直堆叠),请使用 navbar-expand
。由于填充的变化,Bootstrap 5 个导航栏确实需要一个内部容器。
Bootstrap 4(原答案)
最简单的方法是使用 navbar-toggleable-xl
navbar-expand
class(现在在 Bootstrap 4 ) 这样菜单在所有宽度上都是 non-mobile(水平)..
<nav class="navbar navbar-expand navbar-dark bg-primary">
<a class="navbar-brand" href="#">Navbar</a>
<div class="navbar-collapse collapse">
<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>
</nav>
演示:Bootstrap 4 Disable Responsive Navbar
您还可以使用 flexbox
实用程序来阻止较小屏幕上的垂直导航栏。 flex-nowrap flex-row
允许导航栏在所有宽度下保持水平...
<nav class="navbar navbar-light bg-faded justify-content-between flex-nowrap flex-row">
<a href="/" class="navbar-brand">PIM</a>
<ul class="nav navbar-nav flex-row">
<li class="nav-item"><a class="nav-link pr-3" href="/login">Login</a></li>
<li class="nav-item"><a class="nav-link" href="/signup">Sign up</a></li>
</ul>
</nav>
工作原理:
navbar-expand
-- 始终水平,不折叠
navbar-expand-xl
-- 折叠成移动 < 1200px
navbar-expand-lg
-- 折叠成移动 < 992px
navbar-expand-md
-- 折叠成移动 < 768px
navbar-expand-sm
-- 折叠成移动 < 576px
no navbar-expand
-- 始终移动,折叠(默认)
有没有办法在 bootstrap 4 中禁用响应式导航栏?我不想要下拉菜单,因为在移动版本中它仍然可以看到品牌旁边的 2 个链接。另外,我想知道是否可以将链接放在栏的右侧。 Pull-xs-right 似乎无法正常工作。
我当前的代码如下所示:
<nav class="navbar navbar-fixed-top navbar-toggleable-sm navbar-light bg-faded">
<a href="/" class="navbar-brand">PIM</a>
<ul class="nav navbar-nav pull-xs-right">
<li class="nav-item"><Link class="nav-link" to="/login">Login</Link></li>
<li class="nav-item"><Link class="nav-link" to="/signup">Sign up</Link></li>
</ul>
</nav>
非常感谢。
我建议只使用 nav
,但如果您需要导航栏的样式,您可以通过添加助手 类 并删除一些使其发挥作用来绕过它你要。这应该在没有切换按钮下拉功能的情况下在移动设备上显示 link 项。
<nav class="navbar navbar-fixed-top navbar-toggleable-sm navbar-light bg-faded">
<a href="/" class="navbar-brand">PIM</a>
<div id="navbarNav" class="navbar-collapse">
<ul class="navbar-nav">
<li class="nav-item">
<Link class="nav-link" to="/login"> Login
</Link>
</li>
<li class="nav-item">
<Link class="nav-link" to="/signup"> Sign up
</Link>
</li>
</ul>
</div>
</nav>
JSFIDDLE供参考。
Bootstrap 5(2021 年更新)
navbar-expand*
class 仍在 Bootstrap 5 中使用。因此,如果您想防止导航栏折叠(垂直堆叠),请使用 navbar-expand
。由于填充的变化,Bootstrap 5 个导航栏确实需要一个内部容器。
Bootstrap 4(原答案)
最简单的方法是使用 navbar-toggleable-xl
navbar-expand
class(现在在 Bootstrap 4 ) 这样菜单在所有宽度上都是 non-mobile(水平)..
<nav class="navbar navbar-expand navbar-dark bg-primary">
<a class="navbar-brand" href="#">Navbar</a>
<div class="navbar-collapse collapse">
<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>
</nav>
演示:Bootstrap 4 Disable Responsive Navbar
您还可以使用 flexbox
实用程序来阻止较小屏幕上的垂直导航栏。 flex-nowrap flex-row
允许导航栏在所有宽度下保持水平...
<nav class="navbar navbar-light bg-faded justify-content-between flex-nowrap flex-row">
<a href="/" class="navbar-brand">PIM</a>
<ul class="nav navbar-nav flex-row">
<li class="nav-item"><a class="nav-link pr-3" href="/login">Login</a></li>
<li class="nav-item"><a class="nav-link" href="/signup">Sign up</a></li>
</ul>
</nav>
工作原理:
navbar-expand
-- 始终水平,不折叠
navbar-expand-xl
-- 折叠成移动 < 1200px
navbar-expand-lg
-- 折叠成移动 < 992px
navbar-expand-md
-- 折叠成移动 < 768px
navbar-expand-sm
-- 折叠成移动 < 576px
no navbar-expand
-- 始终移动,折叠(默认)