【发布时间】:2020-02-28 09:29:02
【问题描述】:
我正在尝试设置 Bootstrap 4 导航栏菜单,但无法按我想要的方式工作。
新的 Bootstrap 4 导航栏菜单代码如下所示。
<nav class="navbar navbar-expand-lg navbar-dark bg-success">
<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">
<div class="navbar-nav mr-auto">
<a class="nav-item nav-link active" href="#">Home <span class="sr-only">(current)</span></a>
<a class="nav-item nav-link" href="#our-company">Our Company</a>
<a class="nav-item nav-link" href="#our-products">Products</a>
</div>
<div class="navbar-nav">
<a class="nav-item nav-link" href="#"><i class="fa fa-envelope mr-2"></i>email@companyname.com</a>
<a class="nav-item nav-link" href="#"><i class="fa fa-phone mr-2"></i>+1-234-567-8910</a>
</div>
</div>
</nav>
注意,nav-items 被一个带有 navbar-nav 类的 div 包围,该 div 也被一个具有 collapse navbar-collapse 类的父 div 包围。它最外层的父 div 是带有 navbar 类的 nav。
另一方面,WordPress 显示菜单的方式是这样的。
<div class="menu-main-menu-container">
<ul id="menu-main-menu" class="menu">
<li id="menu-item-11" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-11">
<a href="#">Home</a>
</li>
<li id="menu-item-12" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-12">
<a href="#our-company">Our Company</a>
</li>
<li id="menu-item-13" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-13">
<a href="#our-products">Our Products</a>
</li>
</ul>
</div>
WordPress 使用 ul 和 li 来制作菜单。而 Bootstrap 通过 div 和锚标签来实现。
我的 WordPress 编码菜单的方式如下所示:
<?php
wp_nav_menu([
'theme_location' => 'primary',
'container' => 'div',
'container_id' => '',
'container_class' => 'collapse navbar-collapse',
'menu_class' => 'navbar-nav mr-auto',
]);
?>
现在,当菜单生成时,它在网站上看起来像这样。
<div class="navbar-nav mr-auto">
<ul>
<li class="page_item page-item-7 current_page_item">
<a href="http://localhost/envirodyn/" aria-current="page">Home</a>
</li>
</ul>
</div>
如果这就是 WordPress 的做法,那么至少我希望能够将类 .navbar-nav 添加到 ul,将 .nav-item 添加到 li 标签,将 .nav-link 添加到锚标签。
这样,它看起来像这样
<ul class="navbar-nav">
<li class="nav-item">
<a class="nav-link">Menu 1</a>
</li>
<li class="nav-item">
<a class="nav-link">Menu 2</a>
</li>
</ul>
【问题讨论】:
标签: wordpress bootstrap-4