我正在制作一个 Angular 9 应用程序,我想在我的项目中添加一个 sidenav。
我想要的 sidenav 就像这个 Primer Angular Template --> Primer - Angular 8+ Material
这就是我要的
这就是我用我的 scss 和 html 得到的。问题是侧边栏折叠时内容没有调整大小,然后样式被破坏。mat-sidenav-container
为此,我正在寻找答案mat-sidenav
HTML
<mat-sidenav-container class="app example-sidenav-container" autosize>
<mat-sidenav #sidenav class="example-sidenav" mode="side" opened="true" [ngStyle]="{ 'width': !collapsedSidebar ? '250px':'70px' }">
<button mat-icon-button (click)="collapsedSidebar = !collapsedSidebar">
<mat-icon>menu</mat-icon>
</button>
</mat-sidenav>
<div fxFlex class="example-sidenav-content">
<router-outlet></router-outlet>
</div>
</mat-sidenav-container>
SCSS
.app { height: 100vh; }
.example-container {
display: flex;
flex-direction: column;
position: absolute;
top: 0;
bottom: 0;
left: 0;
right: 0;
}
.example-sidenav-container { flex: 1; }
.example-sidenav{
-webkit-transition: width .4s;
transition: width .4s;
}
.mat-drawer{ background:White; }
.example-sidenav-content {
display: flex;
height: 100%;
background-color: #e8ded7;
opacity: 0.9;
}
.example-fill-remaining-space { flex: 1 1 auto; }
请帮忙
更新 这是一个 Stackblitz 示例 --> https://stackblitz.com/edit/angular-xa3n5i