我正在使用angular2-material创建一个新的angular2应用程序,并使用sidenav。但我始终无法使该侧栏的高度为100%。我尝试让一个菜单滑出来,它占据了整个屏幕的高度。我希望无论用户在页面上滚动到哪里,菜单都会以相同的方式打开。
以下是我的模板:
<md-sidenav-layout class="demo-sidenav-layout">
<md-sidenav #start mode="over">
<a [routerLink]="['/login']" class="btn btn-primary">Log in</a>
<br>
</md-sidenav>
<md-toolbar color="primary">
<button md-button (click)="start.toggle()">Open Side Drawer</button>
<span>Spellbook</span>
<span class="demo-fill-remaining">
</span>
</md-toolbar>
<div class="demo-sidenav-content">
<router-outlet></router-outlet>
</div>
</md-sidenav-layout>
这是我的CSS:
.demo-sidenav-layout {
//border: 3px solid black;
min-height:100%;
md-sidenav {
padding: 10px;
background: gainsboro;
min-height: 100%;
}
}
.demo-sidenav-content {
padding: 15px;
min-height:100%;
}
.demo-toolbar {
padding: 6px;
.demo-toolbar-icon {
padding: 0 14px 0 14px;
}
.demo-fill-remaining {
flex: 1 1 auto;
}
}
我还将html
设置为height:100%
,并将body
设置为min-height:100%
md-sidenav-layout
已被弃用,不能再使用。 - dinigomd-sidenav-container
是新名称。来源:https://github.com/angular/material2/pull/2183 - RuslanfixedInViewport="true"
(在Angular Material 6中已验证)是正确的方式。 - jowey