我尝试使用Bootstrap 4创建一个符合下面示意图的网站标题:
我用来实现这一点的代码如下(多余的代码省略):
<div class="navbar">
<div class="container yellow">
<div class="row">
<div class="col-sm-4 green">Logo</div>
<div class="col-sm-8 green">
<div class="row">
<div class="col text-right red">
(00) 1234 5678
</div>
</div>
<div class="row">
<div class="col text-right red">
<!-- nav links here -->
<a href="#">link</a>
</div>
</div>
</div>
</div>
</div>
</div>
唯一的自定义CSS是更改背景颜色以匹配原理图的颜色。
这将生成以下呈现的HTML页,其中的行不跨越容器:
但是,在Bootstrap 3中,这不是问题,只需将框架更改为Bootstrap 3即可给出正确的布局:
此外,如果从其父导航栏中删除容器(及其嵌套内容),则可以在Bootstrap 4中实现正确的布局:
我需要在Bootstrap 4中做些什么来实现这个想要的布局,同时仍然使用navbar类?
2条答案
按热度按时间91zkwejq1#
Bootstrap 4网格
row
〉col-*
不是设计用于导航栏内部的。以下是支持的内容。现在Bootstrap 4使用了flexbox,不使用网格row
〉col-*
align Navbar content就容易多了。如果您想要一个带有徽标和2行的导航栏,请参阅此答案:
https://stackoverflow.com/questions/42635126/bootstrap-4-navbar-with-2-rows
2行基本导航栏:https://codeply.com/go/ilJBKjJsEy
2行响应式导航栏:https://codeply.com/go/DsfePuoZy0
第二个例子在小屏幕上折叠成一个移动的堆叠菜单,可以使用汉堡包图标切换。使用flexbox and spacing utility classes来根据需要定位元素。有 * 许多 * 方法来实现你想要的:https://www.codeply.com/go/pGE8fTf9dM
yizd12fk2#
您可以使用2个
navbar-nav
元素,然后使用flex-column
类将它们堆叠起来,如下所示: