我正在编写一个 Angular 应用程序并使用 mat-list-item 将行添加到我的数据网格中。具有父行的网格将在单击时展开并显示子行。默认情况下,所有父行都是折叠的。我让所有子行都使用备用颜色,但不是父行。它们都是相同的颜色,我需要从白色和灰色中交替。我尝试了一些方法,但它在 style.css 中不起作用。我可以更改所有父行的颜色,但不能让它们像子行一样交替。
我的 html/angular 代码如下
<div class="ng-container" *ngFor="let displayName of myData.displayNames">
<mat-list-item fxLayoutAlign="start" (click)="onRowClicked(displayName, myData)" class="metric-list-item"> // this does not alternate
<strong><span>{{displayName.name}}</span></strong>
</mat-list-item>
<div class="ng-container" *ngIf="showChildRows(displayName)">
<mat-list class="wf-list"> //this works and alternate colors
<mat-list-item fxLayoutAlign="start" *ngFor="let myLabel of myData.subDisplayNames">
<span class="indent">{{myLabel}}</span>
</mat-list-item>
</mat-list>
</div>
</div>
子行在角度组件 css 文件中与以下内容一起使用
.mat-list > .mat-list-item:nth-child(2n+1){
background-color:white;
}
.mat-list > .mat-list-item:nth-child(2n){
background-color:rgb(230, 228, 228);
}
但是我被我在全局 style.css 中定义的父行难住了
.metric-list-item:nth-child(2n){
background-color: rgb(207, 203, 203);
}
.metric-list-item:nth-child(2n+1){
background-color:rgb(230, 228, 228);
}
它只会改变 2n+1 的颜色
我什至尝试了以下
.metric-list-item:nth-child(even){
background-color: rgb(207, 203, 203);
}
.metric-list-item:nth-child(odd){
background-color:rgb(185, 55, 55);
}
同样,将所有父行更改为奇数。
如何让父行颜色交替?任何帮助表示赞赏。谢谢
顺便说一句,我已经阅读了其他文章。我使用了 2n 和 2n+1,奇数和偶数,但它们不适用于 mat-list-item。奇数正在改变颜色,但不是偶数。其他文章使用 div 标签。我正在谷歌搜索,但没有找到可行的方法。不知道为什么偶数不起作用。