html - Bootstrap4:为什么另一个行单元格左对齐,尽管 mx-auto 不居中?
问题描述
我正在尝试在 Bootstrap4 中创建一个响应式标头。目的是在视口较大时创建左对齐 LOGO(文本)和右对齐菜单,然后在缩小到“小”视口时,两者都居中。
这是我到目前为止所拥有的:
<nav class="navbar navbar-light bg-white no-gutters py-0 border-bottom">
<div class="nav col-sm-6 bg-secondary">
<DIV class="mx-auto">
<a class="navbar-brand text-light p-2 h3" href="#">LOGO</a>
</DIV>
</div>
<div class="col-sm-6">
<ul class="nav mx-auto float-sm-right text-dark bg-success">
<li class="nav-item"><a class="nav-link p-2" href="#">Menu1</a></li>
<li class="nav-item"><a class="nav-link p-2" href="#">Menu2</a></li>
<li class="nav-item"><a class="nav-link p-2" href="#">Menu3</a></li>
</ul>
</div>
</nav>
注意:请忽略可怕的背景,我正在使用它们来调试网格的响应能力以及在哪个元素上粘贴实用程序。
一切看起来都在宽阔的视口上。但是当我缩小宽度时,LOGO 居中,但菜单跳转到 LEFT 对齐。我已经在它上面的行(在 DIV 中)尝试了 mx-auto,但没有观察到行为变化。
我哪里做错了?
解决方案
您可以使用 d-flex justify-content-center 类使菜单项居中对齐。
<link href="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/css/bootstrap.min.css" rel="stylesheet"/>
<nav class="navbar navbar-light bg-white no-gutters py-0 border-bottom">
<div class="nav col-sm-6 bg-secondary">
<div class="mx-auto">
<a class="navbar-brand text-light p-2 h3" href="#">LOGO</a>
</div>
</div>
<div class="col-sm-6">
<ul class="nav mx-auto d-flex justify-content-center float-sm-right text-dark bg-success">
<li class="nav-item"><a class="nav-link p-2" href="#">Menu1</a></li>
<li class="nav-item"><a class="nav-link p-2" href="#">Menu2</a></li>
<li class="nav-item"><a class="nav-link p-2" href="#">Menu3</a></li>
</ul>
</div>
</nav>
推荐阅读
- r - R Flexdashboard:我可以向 Flexdashboard 添加一个标签,它只是一个常规的 Rmarkdown 文档吗?
- jenkins - Ansible、jenkins_script 模块和 args 问题
- ruby-on-rails - 将文件从 Rails API 发送到另一个 Rails API,附加到电子邮件
- highcharts - Highcharts堆积条不能显示总成交量
- google-data-studio - Google Data Studio 如何计算仅不同值的总和
- reactjs - 滚动魔术反应
- amazon-ec2 - 使用 Azure AD 提供对第三方应用程序的访问权限
- python - 从列表创建元组列表
- python - Dask map_partitions() 将 `partition_info` 打印为 None
- google-apps-script - Google Apps 脚本 - 根据单元格中的条件发送电子邮件