CSS-先隐藏<;tr>;有课

CSS-先隐藏<;tr>;有课,css,class,html-table,row,Css,Class,Html Table,Row,我需要隐藏第一排tr.snip 为什么这个CSS不起作用 .table tr.snip:first-child { display:none!important; } html ... ... ... 因为您正试图选择一个tr.snip,该tr.snip也是其父项的第一个子项。您试图隐藏的tr.snip是其父项的第二个子项,因此它与CSS选择器不匹配 另外,不要忘记将内容放入td,如下所示: <tr class="snip"><td>...</td&g

我需要隐藏第一排tr.snip

为什么这个CSS不起作用

.table tr.snip:first-child {
    display:none!important;

}
html


...
...
...

因为您正试图选择一个
tr.snip
,该
tr.snip也是其父项的
第一个子项。您试图隐藏的
tr.snip
是其父项的第二个子项,因此它与
CSS
选择器不匹配

另外,不要忘记将内容放入
td
,如下所示:

<tr class="snip"><td>...</td></tr>
。。。

因为您正试图选择一个
tr.snip
,该
tr.snip也是其父项的
第一个子项。您试图隐藏的
tr.snip
是其父项的第二个子项,因此它与
CSS
选择器不匹配

另外,不要忘记将内容放入
td
,如下所示:

<tr class="snip"><td>...</td></tr>
。。。

当你说
.snip:first child
时,你正在寻找既有
snip
类又是其父类的第一个子类的东西。在您的表中,带有
snip
类的第一行是第三个子行,因此选择器不起作用

在选择器级别4出现之前,以您尝试的方式直接选择内容是不可能的,因此目前您最好尝试将兄弟选择器(
+
~
)与伪选择器组合。具体做什么取决于用例的复杂程度

对于您的示例,最简单的解决方案是:

tr + tr.snip {
  display: none;
}
如有必要,您也可以尝试以下方法:

tr:not(.snip) + tr.snip {
  display: none;
}
或者你可以反过来做:

tr.snip {
  display: none;
}
tr.snip + tr.snip {
  display: table-cell;
}
或者(如果这更合适):


当你说
.snip:first child
时,你正在寻找既有
snip
类又是其父类的第一个子类的东西。在您的表中,带有
snip
类的第一行是第三个子行,因此选择器不起作用

在选择器级别4出现之前,以您尝试的方式直接选择内容是不可能的,因此目前您最好尝试将兄弟选择器(
+
~
)与伪选择器组合。具体做什么取决于用例的复杂程度

对于您的示例,最简单的解决方案是:

tr + tr.snip {
  display: none;
}
如有必要,您也可以尝试以下方法:

tr:not(.snip) + tr.snip {
  display: none;
}
或者你可以反过来做:

tr.snip {
  display: none;
}
tr.snip + tr.snip {
  display: table-cell;
}
或者(如果这更合适):

找到