mat-drawer-content 中使用的 Flex 布局

Flex layout used in mat-drawer-content

我在导航抽屉中使用了 angular flex 布局,就像这样

<mat-drawer-container>
    <mat-drawer #drawer mode="over" >
      <p>Drawer content</p>
      <p>
        <button mat-icon-button (click)="drawer.close()">
          <mat-icon>clear</mat-icon>
        </button>
      </p>
      </mat-drawer>
    <mat-drawer-content fxLayout="row" fxLayoutAlign="start center">

      <p>
        <button mat-icon-button (click)="drawer.open()">
          <mat-icon>menu</mat-icon>
        </button>
      </p>

   <router-outlet></router-outlet>
    </mat-drawer-content>
  </mat-drawer-container>

但看起来像

如何将 mat-drawer-container 拉伸到页脚?

您可以使用 'fullscreen' 将其拉伸到页脚。

<mat-drawer-container fullscreen>
   <mat-drawer #drawer mode="over" >
    <p>Drawer content</p>
    <p>
      <button mat-icon-button>
       <mat-icon>clear</mat-icon>
      </button>
    </p>
  </mat-drawer>
<mat-drawer-content fxLayout="row" fxLayoutAlign="start center">

  <p>
    <button mat-icon-button>
     <mat-icon>menu</mat-icon>
   </button>
 </p>

  <router-outlet></router-outlet>
 </mat-drawer-content>
</mat-drawer-container>

您的问题是因为您的物品没有拉伸。

首先给你的 html 和正文标签一个完整的高度:

html, body {
  height: 100%;
}

接下来,您必须制作一个主容器,您将在其中放置页眉、容器和页脚。这个主容器将被拉伸和弯曲。

<div class="container" fxLayout="column">
  <header fxFlex="10%"/>
  <drawer fxFlex/>
  <footer fxFlex="10%"/>
</div>

在此设置中,页眉和页脚各占页面的 10%,抽屉占剩余 space。

.menu-container {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
  }

<mat-sidenav-container class="menu-container">

这对我有用