在 mat-tab-group 上制作粘性标题

Mar*_*nki 10 angular-material angular mat-tab

我正在使用 mat-tab-group,并且希望在向下滚动到内容时修复选项卡标题。因此,我修复了选项卡内容的高度。我可以滚动浏览具有固定标题的内容。但是,然后我在页面上看到两个滚动条,这很奇怪。有没有其他方法可以在滚动内容时修复选项卡标题?附上片段:

<mat-tab-group>
  <mat-tab label="Tab 1">
    <div style="overflow: scroll; height: 50%">
      <p>Content</p>
      <p>Content</p>
      <p>Content</p>
      <p>Content</p>
      <p>Content</p>
      <p>Content</p>
      <p>Content</p>
      <p>Content</p>
      <p>Content</p>
      <p>Content</p>
      <p>Content</p>
      <p>Content</p>
      <p>Content</p>
      <p>Content</p>
      <p>Content</p>
      <p>Content</p>
    </div>
  </mat-tab>
  <mat-tab label="Tab 2">Tab 2</mat-tab>
  <mat-tab label="Tab 3">Tab 3</mat-tab>
</mat-tab-group>
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

[编辑]:我更希望修复 mat-tab 的标题。那么,有没有什么直接的方法可以代替固定样式的高度呢?

小智 11

应用程序组件.html

<mat-tab-group>
  <mat-tab label="Content 1"> Content </mat-tab>
  <mat-tab label="Content 2"> Content </mat-tab>
  <mat-tab label="Content 3"> Content </mat-tab>
</mat-tab-group>
Run Code Online (Sandbox Code Playgroud)

应用程序组件.scss

:host ::ng-deep .mat-tab-header {
    top: 0;
    z-index: 1000; 
    position: sticky;
    position: -webkit-sticky; /* macOS/iOS Safari */    
}
Run Code Online (Sandbox Code Playgroud)


nim*_*sam 0

改变overflow风格,例如:

<div style="overflow-x: auto; overflow-y: visible; height: 50%">
Run Code Online (Sandbox Code Playgroud)

因此,水平滚动仅在需要时才可见,并且垂直滚动不会出现。