我试图在窗口大小减半时创建一个导航栏下拉菜单。下拉菜单在窗口宽度为 950px 时不起作用,但它在窗口宽度为 768px 时起作用。
navbar.component.html
<nav class="navbar navbar-expand-lg navbar-light bg-light">
<a class="navbar-brand" href="#">Navbar</a>
<button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarNav" (click)="toggleMenu()">
<span class="navbar-toggler-icon"></span>
</button>
<div class="collapse navbar-collapse" id="navbarNav" [ngbCollapse]="isCollapsed">
<ul class="navbar-nav mr-auto">
<li class="nav-item active">
<a class="nav-link" href="#">Home <span class="sr-only">(current)</span></a>
</li>
<li class="nav-item">
<a class="nav-link" href="#">Link</a>
</li>
<li class="nav-item dropdown">
<a class="nav-link dropdown-toggle" href="#" id="navbarDropdown" role="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
Dropdown
</a>
<div class="dropdown-menu" aria-labelledby="navbarDropdown">
<a class="dropdown-item" href="#">Action</a>
<a class="dropdown-item" href="#">Another action</a>
<div class="dropdown-divider"></div>
<a class="dropdown-item" href="#">Something else here</a>
</div>
</li>
<li class="nav-item">
<a class="nav-link disabled" href="#">Disabled</a>
</li>
</ul>
</div>
</nav>
navbar.component.ts
import { Component } from '@angular/core';
import { NgbModule } from '@ng-bootstrap/ng-bootstrap';
@Component({
selector: 'app-navbar',
templateUrl: './navbar.component.html'
})
export class NavbarComponent {
public isCollapsed = true;
toggleMenu() {
this.isCollapsed = !this.isCollapsed;
}
}
在 950 像素时,下拉菜单不会隐藏菜单项。但是,如果我取消选中类 '.navbar-collapse.collapse' 的 'display: block !important' 则它会起作用。
最佳答案
我不确定这是否符合“解决方案”的条件,但希望这对其他人有所帮助。我从 ng-bootstrap 切换到 ngx-bootstrap并使用相同的组件 (Collapse) 我的问题得到解决。
关于Angular 4/5 Bootstrap 4 Navbar NgbModule,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47253106/