5

我基本上有 html

<mat-tab-group>
    <mat-tab>
        <mat-tab-group>
            <mat-tab>
            </mat-tab>
        </mat-tab-group>
    </mat-tab>
</mat-tab-group>

如何使用 css(或任何方法)隐藏外部选项卡组 mat-tab-header 元素,但不影响内部选项卡标题?

4

3 回答 3

4

想通了,只需要选择直接孩子

<mat-tab-group class="invisible-tabs">
    <mat-tab>
        <mat-tab-group>
            <mat-tab>
            </mat-tab>
        </mat-tab-group>
    </mat-tab>
</mat-tab-group>

.invisible-tabs {
  > .mat-tab-header {
    display: none;
  }
}
于 2018-08-17T22:28:10.407 回答
3

我强烈建议您使用这个自定义指令而不是使用 css。

import { Directive, ElementRef, OnInit } from "@angular/core";

@Directive({
  selector: "[header-less-tabs]",
})
export class HeaderLessTabsDirective implements OnInit {
  constructor(private eleRef: ElementRef) {}

  ngOnInit(): void {
    this.eleRef.nativeElement.children[0].style.display = "none";
  }
}

它非常简单且可重复使用。用法示例:

<mat-tab-group header-less-tabs>
    <mat-tab>
        <mat-tab-group>
            <mat-tab>
            </mat-tab>
        </mat-tab-group>
    </mat-tab>
</mat-tab-group>
于 2020-12-30T10:28:09.970 回答
0

简单的替代解决方案:

将以下内容添加到您的组件 css 文件中:

::ng-deep .mat-tab-header {
display: none!important;
}
于 2021-10-28T20:42:24.713 回答