如何覆盖整个表的表tr:nth-​​child

时间:2015-02-11 20:05:58

标签: html css

我有以下CSS。它让我有一个默认的表格线交替背景颜色,让我告诉单个行不交替。

有没有办法在每个表的基础上执行此操作,而不是基于每行? IOW,我想在表级定义一些东西,而不是必须为每一行定义它。

换句话说:属性“此表的行不交替”在概念上属于表,而不属于各行。因此,如果可能的话,我想将该属性分配给表,而不是分配给它的每一行。

这可能吗?

table tr:nth-child(odd) {
    background-color: #f1f1f1;
}

table tr:nth-child(even) {
    background-color: #ffffff;
}

table tr.noLine {
    background-color: #f1f1f1;
}

谢谢,

1 个答案:

答案 0 :(得分:2)

你可以这样做:

table:not(.nobg) tr:nth-child(odd) {
    background-color: #f1f1f1;
}

table:not(.nobg) tr:nth-child(even) {
    background-color: #ffffff;
}

table:not(.nobg) tr.noLine {
    background-color: #f1f1f1;
}

您需要将类nobg添加到您不想替换颜色的表中。 CSS读取没有类nobg的表,应用以下规则。查看https://developer.mozilla.org/en-US/docs/Web/CSS/:not以获取支持信息。