无法获得 angular-material md-sidenav 的 100% 高度

新手上路,请多包涵

我正在使用带有 sidenav 的 angular2-material 制作一个新的 angular2 应用程序。而且我一辈子都无法让sidenav的高度达到100%。我试图让一个菜单滑出,占据整个屏幕的高度。无论用户滚动到哪里,我都希望它以相同的方式打开。

这是我的模板:

 <md-sidenav-layout class="demo-sidenav-layout">
  <md-sidenav #start mode="over">

    <a [routerLink]="['/login']" class="btn btn-primary">Log in</a>
    <br>
  </md-sidenav>
    <md-toolbar color="primary">

      <button md-button (click)="start.toggle()">Open Side Drawer</button>
      <span>Spellbook</span>

      <span class="demo-fill-remaining">

      </span>

    </md-toolbar>
  <div class="demo-sidenav-content">

    <router-outlet></router-outlet>
  </div>
</md-sidenav-layout>

这是我的CSS:

 .demo-sidenav-layout {
  //border: 3px solid black;
  min-height:100%;
  md-sidenav {
    padding: 10px;
    background: gainsboro;
    min-height: 100%;
  }
}

.demo-sidenav-content {
  padding: 15px;
  min-height:100%;
}

.demo-toolbar {
  padding: 6px;

  .demo-toolbar-icon {
    padding: 0 14px 0 14px;
  }

  .demo-fill-remaining {
    flex: 1 1 auto;
  }

}

我也有 html 设置为 height:100%body 设置为 min-height:100%

原文由 Alex Kibler 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 723
2 个回答

使用 全屏

<md-sidenav-layout fullscreen>

  <md-sidenav #start mode="over">
    <a [routerLink]="['/login']" class="btn btn-primary">Log in</a>
    <br>
  </md-sidenav>

  <md-toolbar color="primary">
    <button md-button (click)="start.toggle()">Open Side Drawer</button>
    <span>Spellbook</span>
    <span class="demo-fill-remaining"></span>
  </md-toolbar>

  <div class="demo-sidenav-content">
    <router-outlet></router-outlet>
  </div>

</md-sidenav-layout>

原文由 user6508767 发布,翻译遵循 CC BY-SA 3.0 许可协议

在最新版本的 material.angular 中,您可以使用 mat-sidenav 上的属性 fixedInViewport。

见下文。

 <mat-sidenav #start mode="over" fixedInViewport="true"> ... </mat-sidenav>

原文由 Kumar 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题