在 Bootstrap 4 中的切换汉堡菜单处于活动状态,单击它会在一行上显示 HomeAbout,不知道为什么这些不在单独的行上。
代码:
<nav class="navbar navbar-expand-lg navbar-dark bg-dark">
<a href="#" class="navbar-brand">Example</a>
<button class="navbar-toggler" type="button" data-toggle="collapse" data-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 flex-row ml-md-auto d-md-flex">
<li class="nav-item">
<a href="#" class="nav-link">Home</a>
</li>
<li class="nav-item dropdown">
<a href="#" class="nav-link dropdown-toggle" id="navbarDropdown" role="button" aria-haspopup="true" aria-expanded="false" data-toggle="dropdown" to="">About</a>
<div class="dropdown-menu" aria-labelledby="navbarDropdown">
<a class="dropdown-item" href="#">Feedback</a>
</div>
</li>
</ul>
</div>
</nav>
小提琴:https://jsfiddle.net/StoogeMate/qts6gamk/
我无法通过使用 Bootstrap 本身找到明显的答案,特别是对于第一个问题,而无需覆盖 .css 本身并应用 !important 标签
Bootstrap 有这个功能吗?
答案 0 :(得分:1)
默认情况下,下拉菜单会自动沿其父级的顶部和左侧 100% 定位。将 .dropdown-menu-right 添加到 .dropdown-menu 以右对齐下拉菜单。
https://getbootstrap.com/docs/4.0/components/dropdowns/#menu-alignment
dropdown
div.btn-group
dropdown-menu-right
上使用 div.dropdown-menu
<li class="nav-item">
<div class="btn-group">
<a href="#" class="nav-link dropdown-toggle" id="navbarDropdown" role="button" aria-haspopup="true" aria-expanded="false" data-toggle="dropdown" to="">About</a>
<div class="dropdown-menu dropdown-menu-right" aria-labelledby="navbarDropdown">
<a class="dropdown-item" href="#">Feedback</a>
</div>
</div>
</li>
删除 flex-row
以在两行上显示菜单项。
<ul class="navbar-nav ml-md-auto d-md-flex">
----
</ul>