我基本上有 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 元素,但不影响内部选项卡标题?
我基本上有 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 元素,但不影响内部选项卡标题?
想通了,只需要选择直接孩子
<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;
}
}
我强烈建议您使用这个自定义指令而不是使用 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>
简单的替代解决方案:
将以下内容添加到您的组件 css 文件中:
::ng-deep .mat-tab-header {
display: none!important;
}