Combinando: non () selettori in CSS

Sto provando a selezionare tutti gli elementi tr all’interno di un table , tranne il terzo e il quarto. Sono riuscito a farlo usando:

 #table tr:not(:nth-child(3)):not(:nth-child(4)) 

Mi piacerebbe combinare quei selettori perché ne ho ancora un po ‘ :nth-child voci di :nth-child . Qualcosa del genere, ma non ha funzionato:

 #table tr:not(:nth-child(3), :nth-child(4)) 

Funziona in jQuery, ma non in CSS. Sto usando Chrome (e ho solo bisogno che funzioni lì).

Non sono stato in grado di trovare un selettore di combinazione per questo caso. Come posso combinare i selettori con :not ?

Il livello 3 dei selettori non consente nulla di più di un singolo selettore semplice all’interno di una pseudo-class a :not() . Come selettore jQuery, funziona perché jQuery estende la sua funzionalità :not() per consentire qualsiasi selettore (come il metodo .not() ).

Tuttavia, la seconda syntax è uno dei miglioramenti proposti a :not() in Selectors 4 e funziona in modo equivalente al tuo primo. Sebbene l’esempio (mostrato al momento in questa scrittura) mostri una catena di :not() selettori, la proposta dice:

La pseudo-class di negazione,: not (X), è una notazione funzionale che prende come argomento un elenco di selettori. Rappresenta un elemento che non è rappresentato dal suo argomento.

Qui una lista di selezione è semplicemente una lista di selettori separati da virgole.

Se è necessario negare i selettori che contengono combinatori ( > , + , ~ , spazio, ecc, ad esempio div p ), non è ansible utilizzare :not() in CSS; dovrai andare con la soluzione jQuery.

Sebbene la risposta marcata sia vera, voglio solo sottolineare che puoi ottenere ciò che vuoi usando anche css ma solo in un modo diverso. Invece di usare non puoi selezionare quelli e unpply le cose che non vuoi.

 #table tr { /* general case styling */ color: blue; } #table tr:nth-child(3), #table tr:nth-child(4) { color: black; }