Angular 材质 sidenav 和扩展插入填充到左侧,为啥?

Posted

技术标签:

【中文标题】Angular 材质 sidenav 和扩展插入填充到左侧,为啥?【英文标题】:Angular material sidenav and expansion insert padding to the left, why?Angular 材质 sidenav 和扩展插入填充到左侧,为什么? 【发布时间】:2020-05-21 11:01:18 【问题描述】:

我尝试制作最简单的可折叠左侧导航栏, 但它不会粘在左边,而是被填充了 所以它最终会出现在页面中间。

没有 CSS。 填充量取决于单词“Overview”的长度。

<mat-sidenav-container>
  <mat-sidenav mode="side" opened>
    <mat-sidenav-content>
      <mat-expansion-panel>

        <mat-expansion-panel-header>
          <mat-panel-title>
            Overview
          </mat-panel-title>
        </mat-expansion-panel-header>
      </mat-expansion-panel>

    </mat-sidenav-content>

  </mat-sidenav>

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

【问题讨论】:

【参考方案1】:

很多人都有&lt;mat-sidenav-content&gt;,也就是第一个。

正确的代码应该是:

<mat-sidenav-container>
  <mat-sidenav mode="side" opened>
    <mat-expansion-panel>

      <mat-expansion-panel-header>
        <mat-panel-title>
          Overview
        </mat-panel-title>
      </mat-expansion-panel-header>

    </mat-expansion-panel>

  </mat-sidenav>

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

【讨论】:

以上是关于Angular 材质 sidenav 和扩展插入填充到左侧,为啥?的主要内容,如果未能解决你的问题,请参考以下文章

Angular 材质 mat-sidenav-content 点击事件问题

如何在 Angular Material Design 中更改 Sidenav 的宽度?

如何在组件中切换角度材质 sidenav

Angular Material Chips 显示为矩形,而不是在 sidenav 内被舍入

使用 Material Angular 和 Leaflet 切换 sidenav 时调整 sidenav-content 的大小

Angular 材质扩展面板错误 - TypeError: this.driver.containsElement is not a function