C’è un selettore CSS non uguale?

C’è qualcosa come! = (Non uguale) in CSS? ad esempio, ho il seguente codice:

input { ... ... } 

ma per alcuni input ho bisogno di annullarlo. Mi piacerebbe farlo aggiungendo la class “reset” al tag di input, ad es

  

e poi semplicemente saltare questo tag dai CSS.

Come posso farlo?

L’unico modo che vedo è aggiungere una class al tag di input e riscrivere il CSS come segue:

 input.mod { ... ... } 

Nei CSS3, puoi utilizzare il filtro :not() , ma non tutti i browser supportano ancora completamente CSS3, quindi assicurati di sapere cosa stai facendo, che ora è supportato da tutti i principali browser (ed è già da un po ‘di tempo; è una vecchia risposta …).

Esempio:

    

e il CSS

 input:not(.avoidme) { background-color: green; } 

Nota: questa soluzione alternativa non dovrebbe essere più necessaria; Lo lascio qui per il contesto.

Se non si desidera utilizzare CSS3, è ansible impostare lo stile su tutti gli elementi e quindi reimpostarlo con una class.

 input { background-color: green; } input.avoidme { background-color: white; } 

Puoi farlo anche “ripristinando” le modifiche sulla class di ripristino solo in CSS.

 INPUT { padding: 0px; } INPUT.reset { padding: 4px; } 

CSS3 ha :not() , ma non è ancora implementato in tutti i browser. Tuttavia, è implementato nell’anteprima della piattaforma IE9.

 input:not(.reset) { } 

http://www.w3.org/TR/css3-selectors/#negation

Nel frattempo, dovrai attenersi ai metodi antiquati.

Interessante, ho appena provato questo per selezionare l’elemento DOM usando JQuery e funziona! 🙂

 $("input[class!='bad_class']"); 

Questa pagina ha 168 div che non hanno ‘commenti-copia’ di class

 $("div[class!='comment-copy']").length => 168 $("div[class!='.comment-copy']").length => 168 

Puoi anche avvicinarti a questo targeting con un attributo come questo:

input:not([type=checkbox]){ width:100%; }

In questo caso tutti gli input che non sono di tipo ‘checkbox’ avranno una larghezza del 100%.

invece di class = “reset” potresti invertire la logica avendo class = “valid” Puoi aggiungere questo per default e rimuovere la class per resettare lo stile.

Quindi dal tuo esempio e Tomas ‘

 input.valid { ... ... } 

e