我正在创建一个新的
我的
我想要的是,当
Angular 5
网站,其中包含一个 mat-sidenav
,但我遇到了一个问题。我的
mat-sidenav-container
位于固定位置的主菜单下方,这没问题,但如果页面有垂直滚动条,并且显示了 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;
}
fixedTopGap
属性来代替手动设置marginTop
。 - adamdport