【问题标题】:How do I center navbar link items using Bootstrap?如何使用 Bootstrap 居中导航栏链接项目?
【发布时间】:2022-02-02 03:46:47
【问题描述】:
我按照 w3schools 的引导导航栏文档页面进行操作,其中说要在我的导航栏中添加 justify-content-center 以使链接居中。此外,我关注了一个 YouTube 视频,该视频说要做同样的事情,但需要注意的是将该 Bootstrap 类添加到具有 <div class="collapse navbar-collapse" 的 div 类中,但是,当我将它添加到我的代码中时,它不会居中任何项目。我只想将导航链接而不是品牌徽标居中。
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/css/bootstrap.min.css" integrity="sha384-1BmE4kWBq78iYhFldvKuhfTAU6auU8tT94WrHftjDbrCEXSU1oBoqyl2QvZ6jIW3" crossorigin="anonymous">
<header class="header">
<nav class="navbar navbar-colour navbar-expand-lg navbar-dark_disabled">
<div class="container-fluid">
<a class="navbar-brand" href="index.php">BRAND</a>
<button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#navbarSupportedContent" aria-controls="navbarSupportedContent" aria-expanded="false" aria-label="Toggle navigation">
<span class="navbar-toggler-icon"></span>
</button>
<div class="collapse navbar-collapse justify-content-center" id="navbarSupportedContent">
<ul class="navbar-nav me-auto mb-2 mb-lg-0">
<li class=" nav-item">
<a class="nav-link active" aria-current="page" href="#">Home</a>
</li>
<li class=" nav-item">
<a class="navolour nav-link" href="#">About</a>
</li>
<li class=" nav-item dropdown">
<a class="navolour nav-link dropdown-toggle" href="#" id="navbarDropdown" role="button" data-bs-toggle="dropdown" aria-expanded="false">
Drop Down
</a>
<ul class="dropdown-menu" aria-labelledby="navbarDropdown">
<li><a class="dropdown-item" href="#">Nav Item 1</a></li>
<li><a class="dropdown-item" href="#">Nav Item 2</a></li>
<li><a class="dropdown-item" href="#">Nav Item 3</a></li>
</ul>
</li>
<li class=" nav-item">
<a class="navolour nav-link" href="search.php">Nav Link</a>
</li>
</ul>
</div>
</div>
</nav>
</header>
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/js/bootstrap.bundle.min.js" integrity="sha384-ka7Sk0Gln4gmtz2MlQnikT1wXgYsOg+OMhuP+IlRH9sENBO0LRn5q+8nbTov4+1p" crossorigin="anonymous"></script>
jsfiddle:https://jsfiddle.net/eagucmh0/
【问题讨论】:
标签:
html
twitter-bootstrap
bootstrap-5
【解决方案1】:
引导文档指出 justify-content-center 应该在 <ul> 元素上 - <ul class="nav justify-content-center">
https://getbootstrap.com/docs/5.1/components/navs-tabs/
更新
试试这个...
<!-- ======= Header ======= -->
<header class="header">
<nav class="navbar navbar-colour navbar-expand-lg navbar-dark ">
<div class="container-fluid">
<a class="navbar-brand" href="index.php">BRAND</a>
<button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#navbarSupportedContent"
aria-controls="navbarSupportedContent" aria-expanded="false" aria-label="Toggle navigation">
<span class="navbar-toggler-icon"></span>
</button>
<!-- <div class="collapse navbar-collapse" id="navbarSupportedContent"> -->
<ul class="navbar-nav mb-2 mb-lg-0 justify-content-center collapse navbar-collapse" id="navbarSupportedContent">
<li class=" nav-item">
<a class="nav-link active" aria-current="page" href="#">Home</a>
</li>
<li class=" nav-item">
<a class="navolour nav-link" href="#">About</a>
</li>
<li class=" nav-item dropdown">
<a class="navolour nav-link dropdown-toggle" href="#" id="navbarDropdown" role="button"
data-bs-toggle="dropdown" aria-expanded="false">
Drop Down
</a>
<ul class="dropdown-menu" aria-labelledby="navbarDropdown">
<li><a class="dropdown-item" href="#">Nav Item 1</a></li>
<li><a class="dropdown-item" href="#">Nav Item 2</a></li>
<li><a class="dropdown-item" href="#">Nav Item 3</a></li>
</ul>
</li>
<li class=" nav-item">
<a class="navolour nav-link" href="search.php">Nav Link</a>
</li>
</ul>
<!-- </div> -->
</div>
</nav>
</header><!-- End Header -->
注释掉内部 <div> 并将其类和 id 移至 <ul> 元素。
jsfiddle:https://jsfiddle.net/0vm29bah/
【讨论】:
-
感谢您的回答,但这似乎仍然无法解决问题。我像你说的那样在<ul> 标签中添加了justify-content-center,但这并没有解决它。我已经在这里更新了 jsfiddle。 jsfiddle.net/5qmuLb3z/1
【解决方案2】:
您需要从列表中删除 me-auto 类。即使您在父元素上使用居中类,也会将其推倒。
查看完整页面演示。
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/css/bootstrap.min.css" integrity="sha384-1BmE4kWBq78iYhFldvKuhfTAU6auU8tT94WrHftjDbrCEXSU1oBoqyl2QvZ6jIW3" crossorigin="anonymous">
<header class="header">
<nav class="navbar navbar-colour navbar-expand-lg navbar-dark_disabled">
<div class="container-fluid">
<a class="navbar-brand" href="index.php">BRAND</a>
<button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#navbarSupportedContent" aria-controls="navbarSupportedContent" aria-expanded="false" aria-label="Toggle navigation">
<span class="navbar-toggler-icon"></span>
</button>
<div class="collapse navbar-collapse justify-content-center" id="navbarSupportedContent">
<ul class="navbar-nav mb-2 mb-lg-0">
<li class=" nav-item">
<a class="nav-link active" aria-current="page" href="#">Home</a>
</li>
<li class=" nav-item">
<a class="navolour nav-link" href="#">About</a>
</li>
<li class=" nav-item dropdown">
<a class="navolour nav-link dropdown-toggle" href="#" id="navbarDropdown" role="button" data-bs-toggle="dropdown" aria-expanded="false">
Drop Down
</a>
<ul class="dropdown-menu" aria-labelledby="navbarDropdown">
<li><a class="dropdown-item" href="#">Nav Item 1</a></li>
<li><a class="dropdown-item" href="#">Nav Item 2</a></li>
<li><a class="dropdown-item" href="#">Nav Item 3</a></li>
</ul>
</li>
<li class=" nav-item">
<a class="navolour nav-link" href="search.php">Nav Link</a>
</li>
</ul>
</div>
</div>
</nav>
</header>
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/js/bootstrap.bundle.min.js" integrity="sha384-ka7Sk0Gln4gmtz2MlQnikT1wXgYsOg+OMhuP+IlRH9sENBO0LRn5q+8nbTov4+1p" crossorigin="anonymous"></script>