使用 mat-tab 将水平标签转换为垂直标签

问题描述

我使用 mat-tab-group 水平显示标签。在电脑屏幕上看起来没问题。但在手机屏幕上,它看起来不是很整洁。如果是手机大小的屏幕,有没有办法将其转换为垂直标签列表?

   <mat-tab-group>
    <mat-tab>
      <ng-template mat-tab-label>
        <mat-icon ngClass="material-icons-outlined">home</mat-icon>
        <span>Account Summary</span>
    </ng-template>
      <ng-template matTabContent>
        <app-summary
        [loanNumber]="loanNumber"
      ></app-summary>
      </ng-template>
    </mat-tab>
    <mat-tab>
      .
      .      
      .
    </mat-tab>
</mat-tab-group>

解决方法

您可以使用 css 和 "shadow-piercing" 来实现基本功能

https://stackblitz.com/edit/angular-tab-vert

:host ::ng-deep {
  .mat-tab-labels {
    flex-direction: column;
  }
  .mat-tab-group {
    flex-direction: row;
  }
  .mat-ink-bar {
    height: 100%;
    left: 100% !important;
  }
  .mat-tab-header {
    border-bottom: none;
  }
  .mat-tab-body-wrapper {
    flex: 1 1 auto;
  }
} 

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...