css - Bootstrap 4 flexbox 导航,带有居中的徽标和两侧的项目
问题描述
我正在尝试创建一个简单的 bootstrap 4 导航导航栏,其中我的徽标居中,字体很棒的菜单图标与左侧对齐,按钮与右侧对齐。
在我的代码中,我创建了 3 列(5、2 和 5)。如果我删除导航部分,它可以正常工作,但在导航中,它会折叠并且不会占据整个宽度。我读过这是因为 bootstrap 4 使用了 flex。我已经尝试将 w-100 类添加到行中,这几乎可以工作,但是它在导航右侧有一个小填充,导致徽标不完全居中。
<nav class="navbar bg-dark">
<div class="row">
<div class="col-5 text-left bg-warning">
<a href="" data-toggle="modal" class="navbar-toggler" data-target="#exampleModal"><i class="fas fa-bars text-primary pointer" style="font-size: 28px;" ></i></a>
</div>
<div class="col-2 bg-success text-center">
<a href="/" class="navbar-brand">Logo</a>
</div>
<div class="col-5 text-right bg-info">
<a class="btn btn-primary" href="#" role="button">Sign Up</a>
</div>
</div>
有谁知道如何使用 flex 让它工作?我还希望能够在右栏中添加另一个按钮或图标,但仍将徽标恰好位于屏幕中央。
************* 更新 **************
我现在已经使用 flex 让它工作了,但是我不得不添加诸如“flex: 1 0 40%;”之类的样式。到 3 个 div 中的每一个,左右 div 占 40%,中间/徽标 div 占 20%。该代码看起来并不理想,但它确实有效。
<nav class="navbar bg-light">
<div class="d-flex w-100">
<div class="my-auto" style="flex: 1 0 40%;">
<a href="" data-toggle="modal" class="" data-target="#exampleModal"><i class="fas fa-bars text-primary pointer" style="font-size: 28px;" ></i></a>
</div>
<div class="text-center" style="flex: 1 0 20%;">
<a href="/" class="navbar-brand m-0">Logo</a>
</div>
<div class="my-auto text-right" style="flex: 1 0 40%;">
<a class="btn btn-sm btn-watermelon" href="#" role="button">Sign Up</a>
</div>
</div>
</nav>
解决方案
该类.navbar
将padding: .5rem 1rem;
样式规则添加到 nav 元素。“徽标”文本未居中,因为 ,.navbar-brand class
添加margin-right: 1rem;
内容到列不会改变它的大小。将这些类添加到元素中:
<nav class="navbar bg-dark pr-0 pl-0">
...
<a href="/" class="navbar-brand m-0">Logo</a>
...
</nav>
该类将左右填充设置为0,同时pl-0
将删除所有边距。pr-0
m-0
这是引导程序 4 的一个非常好的备忘单
推荐阅读
- azure - 为 Azure 虚拟机规模集 Http 状态代码 409 创建自动缩放设置的问题
- c# - 如何将多个视图模型绑定到 MVVM wpf 中的单个 xaml 文件?
- wordpress - Woocommerce:如何在管理订单页面中将自定义可靠数量添加到订单总额?
- c# - 无法使用 Autofac 注入对象
- javascript - 嵌套中继器 - 子中继器价格添加复选框单击父中继器价格
- r - 按日期范围和 ID 连接,面板数据
- arcore - ARCore 是否与 Android Instant Apps 兼容?
- javascript - 如何防止 Cloud Firestore 拆分地图键?
- linux - 什么是“内核堆栈”?
- swift - 如何查看哪个tableView在顶部