将交替行颜色添加到 Angular Material Table 和可扩展行
Add alternating rowcolor to Angular Material Table with expandable rows
从 Angular Material 示例开始,table 具有可扩展行 (https://stackblitz.com/angular/ybxxqkoqknl?file=src%2Fapp%2Ftable-expandable-rows-example.css),我想向 table 添加交替的行颜色。
然而,标准解决方案(如下所示)不起作用,因为扩展行存在于 table(高度 = 0)中。
在这个 table?
中,是否有任何替代解决方案可以使交替行颜色成为可能
.mat-row:nth-child(even){
background-color: #eee;
}
.mat-row:nth-child(odd){
background-color: white;
}
我在 css
文件中添加了 2 个新的 类,如下所示:
.odd-row {
background-color: white;
}
.even-row {
background-color: #eee;
}
在模板中呈现行的位置,我根据要呈现的数据项的索引添加了 类:
<tr mat-row
*matRowDef="let element; columns: columnsToDisplay; let i = dataIndex;"
class="example-element-row"
[class.odd-row]="i % 2"
[class.even-row]="!(i % 2)"
[class.example-expanded-row]="expandedElement === element"
(click)="expandedElement = expandedElement === element ? null : element">
</tr>
您可以试试这个 CSS 样式表。默认情况下,所有行(包括详细行)将为 background-color: white
.
每第三行和第四行(偶数行及其详细行),background-color: #eee
。
.mat-row {
background-color: white;
}
.mat-row:nth-child(4n-1), .mat-row:nth-child(4n) {
background-color: #eee;
}
您可以使用 nth-child
和公式来为相关行着色:
.mat-row:nth-child(4n+1) {
background: red;
}
.mat-row:nth-child(4n+3) {
background: blue;
}
下一个相关行有4个循环,你在+
后指定起始偏移量。
已更新 stackblitz:https://stackblitz.com/edit/angular-lkhxmg?file=src%2Fapp%2Ftable-expandable-rows-example.css
从 Angular Material 示例开始,table 具有可扩展行 (https://stackblitz.com/angular/ybxxqkoqknl?file=src%2Fapp%2Ftable-expandable-rows-example.css),我想向 table 添加交替的行颜色。 然而,标准解决方案(如下所示)不起作用,因为扩展行存在于 table(高度 = 0)中。 在这个 table?
中,是否有任何替代解决方案可以使交替行颜色成为可能.mat-row:nth-child(even){
background-color: #eee;
}
.mat-row:nth-child(odd){
background-color: white;
}
我在 css
文件中添加了 2 个新的 类,如下所示:
.odd-row {
background-color: white;
}
.even-row {
background-color: #eee;
}
在模板中呈现行的位置,我根据要呈现的数据项的索引添加了 类:
<tr mat-row
*matRowDef="let element; columns: columnsToDisplay; let i = dataIndex;"
class="example-element-row"
[class.odd-row]="i % 2"
[class.even-row]="!(i % 2)"
[class.example-expanded-row]="expandedElement === element"
(click)="expandedElement = expandedElement === element ? null : element">
</tr>
您可以试试这个 CSS 样式表。默认情况下,所有行(包括详细行)将为 background-color: white
.
每第三行和第四行(偶数行及其详细行),background-color: #eee
。
.mat-row {
background-color: white;
}
.mat-row:nth-child(4n-1), .mat-row:nth-child(4n) {
background-color: #eee;
}
您可以使用 nth-child
和公式来为相关行着色:
.mat-row:nth-child(4n+1) {
background: red;
}
.mat-row:nth-child(4n+3) {
background: blue;
}
下一个相关行有4个循环,你在+
后指定起始偏移量。
已更新 stackblitz:https://stackblitz.com/edit/angular-lkhxmg?file=src%2Fapp%2Ftable-expandable-rows-example.css