Angular 2 响应式标题 - 展开/切换按钮在移动视图中不起作用

ToD*_*oDo 1 html css responsive-design responsive angular

切换按钮显示在移动视图中,但不可单击。In AngularappDropdown用于定义下拉按钮。是否有类似的方法来修复切换按钮?

不幸的是,我无法在这里显示图像,但“管理”下拉按钮还有另一个问题。当我将鼠标悬停在内部<li>(例如“注册”...)上时,它将颜色更改为灰色。

添加href= "#"会删除不需要的颜色更改,但单击时会刷新整个页面。

这是 HTML:

<nav class="navbar navbar-webmaster">
<div class="container">
    <div class="navbar-header">
        <button type="button" appDropdown class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar">
            <span class="sr-only">Toggle navigation</span>
            <span class="icon-bar"></span>
            <span class="icon-bar"></span>
            <span class="icon-bar"></span>
        </button>
        <a class="navbar-brand" [routerLink]="['/']">Title</a>
    </div>

    <div class="collapse navbar-collapse" id="navbar">
        <ul class="nav navbar-nav navbar-right">
            <li class="active"><a href="#">Sublime<span class="sr-only"></span></a></li>
          <li class="dropdown" appDropdown *ngIf="userService.isAdmin">
      <a class="dropdown-toggle" role="button" aria-haspopup="true" aria-expanded="false">Administration <span class="caret"></span></a>
      <ul class="dropdown-menu">
        <li><a [routerLink]="['/register']">Registration</a></li>
        <li><a>Other Admin  Stuff</a></li>
        <li role="separator" class="divider"></li>
        <li><a>Another Admin Stuff</a></li>
      </ul>
    </li>
        </ul>
        <form class="navbar-form navbar-right search-form" role="search">
            <input type="text" class="form-control" placeholder="Search" />
        </form>
    </div>

</div>
Run Code Online (Sandbox Code Playgroud)


CSS:

nav.navbar-webmaster {
  background: #00547E;
}

nav.navbar-webmaster a {
  color: #fff;
}

nav.navbar-brand :hover {
  color: #337ab7;
}

nav.navbar-webmaster ul.navbar-nav a:hover,
nav.navbar-webmaster ul.navbar-nav a:visited,
nav.navbar-webmaster ul.navbar-nav a:focus,
nav.navbar-webmaster ul.navbar-nav a:active {
  background: #0d3a51;
}

nav.navbar-webmaster ul.navbar-nav a:hover {
  border-color: #337ab7;
}

nav.navbar-webmaster li.divider {
  background: #ccc;
}

nav.navbar-webmaster button.navbar-toggle {
  background: #999;
  border-radius: 2px;
}

nav.navbar-webmaster button.navbar-toggle:hover {
  background: #999;
}

nav.navbar-webmaster button.navbar-toggle>span.icon-bar {
  background: #fff;
}

nav.navbar-webmaster ul.dropdown-menu {
  border: 0;
  background: #fff;
}

nav.navbar-webmaster ul.dropdown-menu>li>a {
  color: #444;
}

nav.navbar-webmaster ul.dropdown-menu>li>a:hover {
  background: #00547E;
  color: #fff;
}
Run Code Online (Sandbox Code Playgroud)


任何帮助是极大的赞赏。

Cha*_*uli 5

使用ng-bootstrap实现。更新html如下

<nav class="navbar navbar-inverse">
  <div class="container-fluid">
    <div class="navbar-header">
      <button type="button" class="navbar-toggle" (click)="isCollapsed = !isCollapsed" [attr.aria-expanded]="!isCollapsed" aria-controls="myNavbar">
        <span class="icon-bar"></span>
        <span class="icon-bar"></span>
        <span class="icon-bar"></span>
      </button>
      <a class="navbar-brand" href="#">Logo</a>
    </div>
    <div class="collapse navbar-collapse" id="myNavbar" [ngbCollapse]="isCollapsed">
      <ul class="nav navbar-nav">
        <li class="active"><a href="#">Home</a></li>
        <li><a href="#">About</a></li>
        <li><a href="#">Projects</a></li>
        <li><a href="#">Contact</a></li>
      </ul>
      <ul class="nav navbar-nav navbar-right">
        <li><a href="#"><span class="glyphicon glyphicon-log-in"></span> Login</a></li>
      </ul>
    </div>
  </div>
</nav>
Run Code Online (Sandbox Code Playgroud)

在组件类中声明以下变量

public isCollapsed = false;
Run Code Online (Sandbox Code Playgroud)

如需现场表演,请访问我的Plunker

  • 我已经尝试过这个,但我得到“无法绑定到‘ngbCollapse’,因为它不是‘div’的已知属性。” (2认同)