问题描述
我使用 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;
}
}