如何让 mat-sidenav 占据 mat-toolbar 下方的整个垂直空间?

Posted

技术标签:

【中文标题】如何让 mat-sidenav 占据 mat-toolbar 下方的整个垂直空间?【英文标题】:How can I make mat-sidenav take up entire vertical space underneath mat-toolbar? 【发布时间】:2021-08-21 04:53:21 【问题描述】:

我正在尝试使以下角度材料布局正常工作。我在顶部有一个mat-toolbar,在底部有一个mat-sidenav。无论我尝试什么,我都无法让mat-sidenav-container 占据整个页面高度。这是我使用网格布局的尝试。看起来它应该工作,但它没有。似乎mat-sidenav 自动缩小到mat-sidenav-content 内元素的高度。

这是我的html

<div class="main-div">
  <app-header class="app-header"></app-header>
  <app-sidenav class="app-sidenav"></app-sidenav>
</div>

这是我的 CSS:

.main-div 
  display: grid;
  grid-template-columns: 1fr;
  grid-template-rows: auto 1fr;


.app-header 
  grid-column: 1 / 2;
  grid-row: 1 / 2;


.app-sidenav 
  grid-column: 1 / 2;
  grid-row: 2 / 3;

【问题讨论】:

【参考方案1】:

尝试添加这个

.main-div 
   display: grid;
   grid-template-columns: 1fr;
   grid-template-rows: auto 1fr;
   height: 100vh;

.mat-sidenav-container 
   height: 100%;

    

【讨论】:

以上是关于如何让 mat-sidenav 占据 mat-toolbar 下方的整个垂直空间?的主要内容,如果未能解决你的问题,请参考以下文章

页面加载时如何不打开mat-sidenav

除非设置了内容高度,否则不会显示 Angular mat-sidenav

在mat-sidenav组件的'closing'事件中更改状态时,角度动画不会触发?

Angular 6,7 如何将默认主题颜色应用于 mat-sidenav 背景?

如何使可切换的 mat-sidenav 推送也成为 mat-sidenav-content 中的固定标题

如何固定 mat-toolbar 和 mat-sidenav 并且在 mat-sidenav-content 内只有一个滚动条?