【发布时间】:2018-09-28 08:14:21
【问题描述】:
我正在创建一个具有 mat-sidenav 的新 Angular 5 站点,但我遇到了问题。
我的mat-sidenav-container 位于我的position: fixed 主菜单下,这很好,但如果页面有垂直滚动,如果显示mat-sidenav,它也会滚动。
如果显示mat-sidenav,我想要停止返回内容滚动,但我不知道CSS 这样做,因为我已经尝试了所有position
HTML
<mat-toolbar>
<mat-icon class="subMenuIcon" (click)="sidenav.toggle()" title="Click to open the sub-menu.">reorder</mat-icon>
<img src="./assets/images/Crest.jpg">LEARNING SITE
<div class="emptySpace"></div>
<mat-icon class="loggedInIcon">person</mat-icon>
<span style="font-size: 15px">USERNAME</span>
</mat-toolbar>
<mat-sidenav-container>
<mat-sidenav #sidenav mode="over" opened="false">
<div class="closeButton">
<mat-icon (click)="sidenav.toggle()" title="Click to close the sub-menu.">clear</mat-icon>
</div>
<a (click)="sidenav.toggle()" routerLink="/">
<mat-icon>person</mat-icon>
Dashboard
</a>
<a (click)="sidenav.toggle()" routerLink="search">
<mat-icon>search</mat-icon>
Search
</a>
</mat-sidenav>
</mat-sidenav-container>
<router-outlet></router-outlet>
CSS
mat-sidenav {
background-color: gray;
margin-top: 64px;
color: #ffffff;
transition: 0.5s;
padding: 7px;
}
mat-sidenav a {
margin-top: 15px;
margin-bottom: 15px;
font-size: 17px;
color: #ffffff;
display: block;
}
mat-sidenav a:hover {
color: #c41230;
cursor: pointer;
}
.closeButton {
text-align: right;
margin-bottom: 15px;
cursor: pointer;
}
.mat-drawer-container {
position: static;
}
/* Moves the side-nav to below the main menu */
.mat-drawer-backdrop {
margin-top: 64px !important;
}
【问题讨论】: