如何将Bootstrap 5导航栏项目对齐到右侧?在Bootstrap 3中可以使用navbar-right
实现,在Bootstrap 4中可以使用ml-auto
实现。但是在Bootstrap 5中这些方法都不起作用。
如何将Bootstrap 5导航栏项目对齐到右侧?在Bootstrap 3中可以使用navbar-right
实现,在Bootstrap 4中可以使用ml-auto
实现。但是在Bootstrap 5中这些方法都不起作用。
Bootstrap 5 (2021年更新)
从Bootstrap 5 beta版本开始,RTL支持中的左和右已被替换为start和end。因此,Bootstrap 5 beta的边距工具发生了变化:
ml-auto
=> ms-auto
(start)mr-auto
=> me-auto
(end)还请注意,在Bootstrap 5中,所有使用左和右的情况都已被替换为start和end...
Bootstrap 5 alpha(原始答案)
这个问题是针对Bootstrap 5 alpha提出的,因此ml-auto
仍然有效。
我将mr-auto
更改为ms-auto
,这对我起了作用,这是最好的解决方案。
<ul class="navbar-nav ms-auto mb-2 mb-lg-0">
ms-auto
的确意味着“边距_开始_/左自动”,但是这意味着“添加margin-left: auto !important;
”,这本身就令人困惑,但您可以在此处阅读更多有关边距的信息 https://developer.mozilla.org/en-US/docs/Web/CSS/margin-left#syntax - Andrew E在Bootstrap 5中,您需要使用ms-auto
替代ml-auto
。
水平方向敏感变量、工具和混合物采用更符合逻辑的名称进行重命名——在Bootstrap 5中,left
和right
改为start
和end
。
.left-*
和.right-*
被重命名为.start-*
和.end-*
。.float-left
和.float-right
被重命名为.float-start
和.float-end
。.border-left
和.border-right
被重命名为.border-start
和.border-end
。.rounded-left
和.rounded-right
被重命名为.rounded-start
和.rounded-end
。.ml-*
和.mr-*
被重命名为.ms-*
和.me-*
。.pl-*
和.pr-*
被重命名为.ps-*
和.pe-*
。.text-left
和.text-right
被重命名为.text-start
和.text-end
。您可以在此处查看更多Bootstrap 5迁移详细信息: https://getbootstrap.com/docs/5.0/migration/#sass
justify-content-end类有所不同。
<div class="collapse navbar-collapse justify-content-end" id="navbarResponsive">
这个问题已经在这里得到了回答。
根据Bootstrap 5文档的内容,某些工具已经更名,包括left和right。
left ==> start
right ==> end
因此:
ml变为ms
mr变为me
现在:
ml-auto ==> ms-auto
mr-auto ==> me-auto
你可以在这里的Bootstrap文档中查看。
因此,如果您想要使导航栏项目靠“右”对齐,则必须添加:
<div class="collapse navbar-collapse" id="navbarScroll">
<ul class="navbar-nav ms-auto mb-2 mb-lg-0">
<li class="nav-item">
<a class="nav-link" href="#">Link</a>
</li>
</ul>
</div>
与 Bootstrap 4 相同,您应该使用 ml-auto
。以下是来自 Bootstrap 5 官方 Navbar 的代码片段。
此外,这里还有 Bootstrap 5 的官方主页。
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/5.0.0-alpha1/css/bootstrap.min.css" integrity="sha384-r4NyP46KrjDleawBgD5tp8Y7UzmLA05oM1iAEQ17CSuDqnUK2+k9luXQOfXJCJ4I" crossorigin="anonymous">
<nav class="navbar navbar-expand-lg navbar-dark bg-dark">
<div class="container-fluid">
<a class="navbar-brand" href="#">Navbar</a>
<button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarNavAltMarkup" aria-controls="navbarNavAltMarkup" aria-expanded="false" aria-label="Toggle navigation">
<span class="navbar-toggler-icon"></span>
</button>
<div class="collapse navbar-collapse " id="navbarNavAltMarkup">
<!-- ml-auto still works just fine-->
<div class="navbar-nav ml-auto">
<a class="nav-link active" aria-current="page" href="#">Home</a>
<a class="nav-link" href="#">Features</a>
<a class="nav-link" href="#">Pricing</a>
<a class="nav-link disabled" href="#" tabindex="-1" aria-disabled="true">Disabled</a>
</div>
</div>
</div>
</nav>
<!--bootstrap 5 -->
<!-- JavaScript and dependencies -->
<script src=" https://cdn.jsdelivr.net/npm/popper.js@1.16.0/dist/umd/popper.min.js " integrity=" sha384-Q6E9RHvbIyZFJoft+2mJbHaEWldlvI9IOYy5n3zV9zzTtmI3UksdQRVvoxMfooAo " crossorigin=" anonymous "></script>
<script src=" https://stackpath.bootstrapcdn.com/bootstrap/5.0.0-alpha1/js/bootstrap.min.js " integrity=" sha384-oesi62hOLfzrys4LxRF63OJCXdXDipiYWBnvTl9Y9/TRlw5xlKIEHpNyvvDShgf/ " crossorigin=" anonymous "></script>
这个问题是在 bootstrap 5
还处于 alpha
版本时提出的。但现在我们已经有了 beta
版本,他们把命名更改为了 margin-start 和 margin-end。
将 .ml-* 和 .mr-* 重命名为 .ms-* 和 .me-*
将 .pl-* 和 .pr-* 重命名为 .ps-* 和 .pe-*
因此答案应该是这样的:
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.0.0-beta1/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-giJF6kkoqNQ00vy+HMDP7azOuL0xtbfIcaT9wjKHr8RbDVddVHyTfAAsrekwKmP1" crossorigin="anonymous">
<nav class="navbar navbar-dark bg-dark">
<div class="container-fluid">
<a class="navbar-brand">Navbar</a>
<form class="d-flex">
<input class="form-control me-2" type="search" placeholder="Search" aria-label="Search">
<button class="btn btn-outline-success" type="submit">Search</button>
</form>
</div>
</nav>
<!--bootstrap 5 -->
<!-- JavaScript and dependencies -->
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.0.0-beta1/dist/js/bootstrap.bundle.min.js" integrity="sha384-ygbV9kiqUc6oa4msXn9868pTtWMgiQaeYH7/t7LECLbyPA2x65Kgf80OJFdroafW" crossorigin="anonymous"></script>
这个对我来说很好用,
看看这个:
<ul class="navbar-nav ms-auto mb-2 mb-lg-0">
<nav class="navbar navbar-dark bg-dark d-flex justify-content-end">
<div class="d-flex flex-row-reverse">