是否可以使用Bootstrap 4.3.x创建两个不同的导航栏,如下图所示?
第一个导航栏(带有Sample Brand)固定在顶部,第二个导航栏可滚动吗?
不确定我是否可以使用Bootstrap中的实用程序来处理此问题。
我尝试在第二个导航栏上添加'margin-top:56px',这将留出空间,但这仅适用于大屏幕,因为当显示汉堡菜单图标时,第一个导航栏的高度会改变。
我当前的代码是:
stackview
在大屏幕上运行正常,但是当我在中小屏幕上进行测试时,会发生这种情况:
不确定使用Bootstrap的导航栏没有固定高度时应使用哪个边距最高值。
我尽可能不使用javascript,因为我认为css中有一种可能的方法(我只是不知道。Ikr哈哈!),而使用javascript是一个过大的杀伤力。呵呵
答案 0 :(得分:2)
您已将辅助导航栏设置为navbar-expand-lg
,因此它将在md断点处变为折叠的导航栏。如果您希望它保持扩展状态,请更改扩展断点。例如navbar-expand-md
或navbar-expand-sm
或所有视口尺寸navbar-expand
下面是一个示例,其中辅助导航在所有视口中展开
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/css/bootstrap.min.css" integrity="sha384-ggOyR0iXCbMQv3Xipma34MD+dH/1fQ784/j6cY/iJTQUOhcWr7x9JvoRxT2MZw1T" crossorigin="anonymous">
<script src="https://code.jquery.com/jquery-3.3.1.slim.min.js" integrity="sha384-q8i/X+965DzO0rT7abK41JStQIAqVgRVzpbzo5smXKp4YfRvH+8abtTE1Pi6jizo" crossorigin="anonymous"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.7/umd/popper.min.js" integrity="sha384-UO2eT0CpHqdSJQ6hJty5KVphtPhzWj9WO1clHTMGa3JDZwrnQq4sF86dIHNDz0W1" crossorigin="anonymous"></script>
<script src="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/js/bootstrap.min.js" integrity="sha384-JjSmVgyd0p3pXB1rRibZUAYoIIy6OrQ6VrjIEaFf/nJGzIxFDsf4x0xIM+B07jRM" crossorigin="anonymous"></script>
<nav class="navbar navbar-expand-lg bg-dark navbar-dark fixed-top" >
<div class="container">
<a class="navbar-brand" href="#">
Sample Brand
</a>
<button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarResponsive" aria-controls="navbarResponsive" aria-expanded="false" aria-label="Toggle navigation">
<span class="navbar-toggler-icon"></span>
</button>
<div class="collapse navbar-collapse flex-column" id="navbarResponsive">
<ul class="navbar-nav ml-auto">
<li class="nav-item active">
<a class="nav-link" href="#">Login
<span class="sr-only">(current)</span>
</a>
</li>
<li class="nav-item">
<a class="nav-link" href="#">Register</a>
</li>
</ul>
</div>
</div>
</nav>
<nav class="navbar navbar-expand navbar-dark bg-primary static-top" style="margin-top: 56px">
<div class="container">
<div class="collapse navbar-collapse" id="navbarResponsive">
<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 font-weight-lighter">
<a class="nav-link" href="#">FAQs</a>
</li>
<li class="nav-item">
<a class="nav-link" href="#">Developer</a>
</li>
<li class="nav-item">
<a class="nav-link" href="#">Contact Us</a>
</li>
</ul>
</div>
</div>
</nav>
答案 1 :(得分:0)
这与Bootstrap 4 Multiple fixed-top navbars非常相似,除了第二导航栏是静态的。第二个导航栏上的边距顶部很好。
但是,“在大屏幕上运行正常,但是当我在中小屏幕上进行测试时,会发生...” * ,因为第二个导航栏失去了高度,因为它没有navbar-brand
。第二导航栏根本不应该折叠,而应该展开...
<nav class="navbar navbar-expand-lg bg-dark navbar-dark fixed-top" >
<div class="container">
<a class="navbar-brand" href="#">
Sample Brand
</a>
<button class="navbar-toggler" type="button" data-toggle="collapse" data-target=".navbar-collapse" aria-controls="navbarResponsive" aria-expanded="false" aria-label="Toggle navigation">
<span class="navbar-toggler-icon"></span>
</button>
<div class="collapse navbar-collapse" id="navbarResponsive">
<ul class="navbar-nav ml-auto">
...
</ul>
</div>
</div>
</nav>
<nav class="navbar navbar-expand bg-primary navbar-dark p1-primary static-top" style="margin-top: 56px">
<div class="container">
<ul class="navbar-nav ">
...
</ul>
</div>
</nav>