:not()没有按预期工作

Cor*_*ell -1 css

使用:not()运营商有任何限制吗?

我有这个HTML:

<table>
    <thead>
        <th>AAAAAAA</th>
        <th>VVVVVVVVVVV</th>
    </thead>
    <tr>
        <td>111111</td>
        <td>22222</td>
    </tr>
</table>
<br>
<br>
<br>
<br>
<table class="t">
    <thead>
        <th>AAAAAAA</th>
        <th>VVVVVVVVVVV</th>
    </thead>
    <tr>
        <td>111111</td>
        <td>22222</td>
    </tr>
</table>
Run Code Online (Sandbox Code Playgroud)

这个CSS:

table td:not(.t) {
            border: 1px solid black;
            padding-left: 5px;
          }


table th:not(.t) {
            border: 1px solid black;
            padding-left: 5px;
          }
Run Code Online (Sandbox Code Playgroud)

然而,两个表都获得了CSS规则. 的jsfiddle

Luk*_*uke 5

这是因为.t适用于table不是atd

试试这个:

table:not(.t) td
{
    ...
}
Run Code Online (Sandbox Code Playgroud)
table:not(.t) td, table:not(.t) th
{
    border: 1px solid black;
    padding-left: 5px;
}
Run Code Online (Sandbox Code Playgroud)

刚刚注意到,您也可以对声明进行分组,因为它们是相同的.