我正在尝试为我的表格行添加“斑马”颜色(奇数=深色,偶数=浅色)。但是,由于我的应用程序,用户可以使用选择器隐藏行,因此不会产生斑马效果,因为伪选择器选择了所有内容,而不是基于“可见”内容。
这并不是什么新鲜事,之前已经讨论过很多次了:
使用 CSS3 对带有隐藏行的表格进行 Zebra 条带化?
在同一张表中,我使用 CSS 的“计数”功能,以明显地显示每行的行号,并且这些仅应用于可见行(丢弃带有 display:none 的行)
table {
width: 100%;
background: white;
counter-reset: rowNumber;
}
tr > td {counter-increment: rowNumber;}
tr td::before {
content: counter(rowNumber);
color: blue;
}
tr:nth-child(even) {
background: red;
}Run Code Online (Sandbox Code Playgroud)
<table>
<tr>
<td></td>
</tr>
<tr>
<td></td>
</tr>
<tr>
<td></td>
</tr>
<tr>
<td></td>
</tr>
<tr>
<td></td>
</tr>
<tr style="display:none;">
<td></td>
</tr>
<tr>
<td></td>
</tr>
<tr>
<td></td>
</tr>
<tr style="display:none;">
<td></td>
</tr>
<tr>
<td></td>
</tr>
</table>Run Code Online (Sandbox Code Playgroud)
https://jsfiddle.net/cr6yo00w/1/
我的问题是(没有在任何地方看到过这个问题):
有没有办法将两者结合起来并以这种方式为我的桌子设置斑马色?是否可以从计数中提取偶数/奇数?
编辑:这被标记为欺骗——正如我自己已经说过的,奇数/偶数选择器之前已经讨论过。我的问题特别涉及将奇数/偶数选择器与 CSS rowNumber 计数相结合的可能方法。