2017-02-24 84 views
2

我正在使用Angular材质2,而我遇到这个问题,其中md-sidenav-content只占用内容的高度。但是,我希望它是100%的高度或内容高度(以最大者为准)。请注意,父容器是md-sidenav-container确实有我想要的完整高度。角材质2 md-sidenav-content不占用全高

screenshot

screenshot2

然而,在我的应用程序没有地方我用MD-sidenav内容。这似乎是由Angular Material 2本身产生的东西。所以我不能改变它的属性。

现在出现这个问题,我无法获得绿色背景以跨越整个高度。

// app.component.html 
<md-sidenav-container> 

<!--side nav--> 
<md-sidenav #sidenav mode="over" class="app-sidenav"> 

    <!--header--> 
    <div id="side-nav-header"> 
    <img id="side-menu-logo" src="../assets/images/logo_small.png"> MyApp 
    </div> 

    <!--body--> 
    <a [mdTooltip]="!isCurrentUserExist ? 'Please login first!': ''" [routerLink]="['/create-timesheet']" (click)="sidenav.close()">Timesheet</a> 

</md-sidenav> 

<br><br> 

<!--main content--> 
<router-outlet></router-outlet> 
</md-sidenav-container> 


// login.component.html 
<div id="login-container" class="container-fluid"> 
    <div class="row"> 
     <div id="login-component" class="col-md-6 offset-md-3"> 
      <md-card> 

       <h2>Login</h2> 

       <br> 

       <form name="form" [formGroup]="loginForm" (ngSubmit)="onLogin()"> 

        <!--email--> 
        <md-input type="email" placeholder="Email" formControlName="email"></md-input> 
        <label class="errorMessage" *ngIf="!loginForm.controls['email'].valid && loginForm.controls['email'].dirty" for="email"> 
      Email is required</label> 

        <!--password--> 
        <md-input type="password" placeholder="Password" formControlName="password"></md-input> 
        <label class="errorMessage" *ngIf="!loginForm.controls['password'].valid && loginForm.controls['password'].dirty" for="lastName"> 
      Password is required</label> 

        <br><br> 

        <div class="form-group"> 
         <button [disabled]="loading || !loginForm.valid" class="btn btn-primary">Login</button> 
         <a *ngIf="!isLoading" [routerLink]="['/forgot-password']" (click)="onForgotPassword()">forgot password</a> 
        </div> 
       </form> 
      </md-card> 
     </div> 
    </div> 
</div> 


// loging.component.css 
#login-container { 
    min-height: 100%; 
    background-color: green; 
} 

回答

7

尽量给

height: 100vh; 

md-sidenav-container。它将占用视觉高度,因此显示它的屏幕高度。 如果放在外面的md-sidenav-container可以通过减去了`MD-工具栏的像素调整容器本身的高度”一md-toolbar(假设其高度为50像素):

height: calc(100vh- 50px);