我正在寻找在 Angular (13.0.x) Material 页面框架中自动重新缩放元素的最佳当前方法。
我有一个静态<mat-toolbar>
作为标题,以及一个<mat-sidenav-container>
列出<mat-sidenav>
的元素和<mat-sidenav-content>
,如下所示:
<mat-toolbar>
...
</mat-toolbar>
<mat-sidenav-container>
<mat-sidenav>
<mat-nav-list>
<mat-list-item>
...
</mat-list-item>
...
</mat-nav-list>
</mat-sidenav>
<mat-sidenav-content>
<mat-card>
<router-outlet></router-outlet>
</mat-card>
</mat-sidenav-content>
</mat-sidenav-container>
我希望<mat-sidenav>
自动重新缩放(包括其子元素)以完全占据窗口的高度减去 的高度<mat-toolbar>
,这样无论添加多少都不需要滚动来查看它包含的元素列表,并且我希望<mat-sidenav-content>
自动滚动,因为它的内容总是比不滚动窗口的内容要多。
就我现在所知,尝试获取前者的最佳方法是添加到 CSS 中:
.mat-sidenav-container {
min-height: 100vh;
}
这似乎使<mat-sidenav>
窗口比窗口稍长,并且随着元素添加到<mat-nav-list>
,此方法失败,因为它开始需要滚动。
有没有更有效的方法来做到这一点?
编辑
<mat-toolbar>
我可以通过为标题和<mat-sidenav-container>
外壳指定高度相对视口来解决其中的一些问题。剩下的唯一问题是自动调整内容的大小<mat-sidenav>
,使其永远不需要滚动。