我想为Angular material tab更改mat-ink-bar
的样式。
我想归档这样的设计:Jsfiddle example
问题是mat-ink-bar
已经absolute
定位了,我无法显示我的::after
元素。有什么办法可以存档吗?
这是我在stackblitz上尝试过的操作:Mat tab on stackblitz
我的风格位于style.css
内部。如果使用开发工具,则底部的三角形将被隐藏。我无法使用z-index
来显示它。任何帮助将不胜感激。
此处是代码:
css
.c-tab .mat-ink-bar {
height: 5px;
}
.c-tab .mat-ink-bar::after {
content: '';
position: absolute;
top: 0;
right: 0;
left: 0;
margin: 0 auto;
width: 0;
height: 0;
border-top: solid 50px #3f51b5;
border-left: solid 50px transparent;
border-right: solid 50px transparent;
}
html
<mat-tab-group class="c-tab">
<mat-tab label="First"> Content 1 </mat-tab>
<mat-tab label="Second"> Content 2 </mat-tab>
<mat-tab label="Third"> Content 3 </mat-tab>
</mat-tab-group>
答案 0 :(得分:3)
在CSS之后进行更新将解决您的问题。
.mat-tab-label {
position: relative;
}
.mat-tab-header,
.mat-tab-label-container,
.mat-ripple {
overflow: inherit !important;
}
.mat-ink-bar:after {
content: "";
position: absolute;
top: 48px;
right: 0;
left: 0;
margin: 0 auto;
width: 0;
height: 0;
border-top: solid 20px #673ab7;
border-left: solid 20px transparent;
border-right: solid 20px transparent;
}
答案 1 :(得分:0)
您缺少display:block
元素的::after
。因此,块属性不适用。
另外,您正在使用::after
,top
,left
和right
来扩展bottom
的宽度以匹配其父项。
位于左上角或右下角,而不是两个都位于
答案 2 :(得分:0)
<div ng-repeat="(k,v) in data">
<dyna-select label=k field=v></dyna-select>
</div>
尝试这个^^ ...
从理论上讲,这就是您所需要的: 更新 https://jsfiddle.net/Rakowu/e42wng0m/4/