J'ai de gros problèmes, car je dois anathématiser le style de certains types d'entrée. J'avais quelque chose comme:
.registration_form_right input:not([type="radio")
{
//Nah.
}
Mais je ne veux pas trop styliser les cases à cocher.
J'ai essayé:
.registration_form_right input:not([type="radio" && type="checkbox"])
.registration_form_right input:not([type="radio" && "checkbox"])
.registration_form_right input:not([type="radio") && .registration_form_right input:not(type="checkbox"])
Comment utiliser &&
? Et je vais devoir l'utiliser ||
bientôt, et je pense que l'utilisation sera la même.
Mise à jour:
je ne sais toujours pas comment utiliser ||
et &&
correctement. Je n'ai rien trouvé dans la documentation W3.
Réponses:
&&
fonctionne en enchaînant plusieurs sélecteurs comme ceci:Un autre exemple:
||
fonctionne en séparant plusieurs sélecteurs par des virgules comme ceci:la source
not
semble fonctionner à partir de IE9 (grâce au graphique fourni par @geofflee).ET (
&&
):OU (
||
):la source
||
). Mis à jour pour clarifier.||
des exemples. Bien sûr, cela devient.registration_form_right input
après simplification, mais l'essentiel est que vous utilisez le,
comme||
. Vous pouvez utiliserinput:not([type="radio"]), input:not([name="foo"])
pour un exemple non trivial.Pour sélectionner les propriétés
a
ETb
d'unX
élément:Pour sélectionner les propriétés
a
OUb
d'unX
élément:la source
La
:not
pseudo-classe n'est pas prise en charge par IE. J'avais pour quelque chose comme ça à la place:Quelques duplications là-bas, mais c'est un petit prix à payer pour une meilleure compatibilité.
la source
Vous pouvez en quelque sorte reproduire le comportement de "OR" en utilisant & et: not.
la source
Je suppose que vous détestez écrire plus de sélecteurs et les diviser par une virgule?
et BTW ceci
me ressemble plus à "entrée qui n'a pas ces deux types" :)
la source
radio
, (mais serait choisir lacheckbox
), et le second ferait l'inverse. L'union des deux contiendrait à la foischeckbox
etradio
.Juste au cas où quelqu'un serait coincé comme moi. Après avoir parcouru le poste et quelques succès et essais, cela a fonctionné pour moi.
la source
Un mot d'avertissement. Le fait d'enchaîner plusieurs
not
sélecteurs augmente la spécificité du sélecteur résultant, ce qui rend le remplacement plus difficile: vous devrez essentiellement trouver le sélecteur avec tous les nots et le copier-coller dans votre nouveau sélecteur.Un
not(X or Y)
sélecteur serait génial pour éviter de gonfler la spécificité, mais je suppose que nous devrons nous en tenir à la combinaison des contraires, comme dans cette réponse .la source