Eu tenho um grande problema, porque preciso anatematizar a partir de estilizar alguns tipos de entrada. Eu tinha algo como:
.registration_form_right input:not([type="radio")
{
//Nah.
}
Mas não quero estilizar caixas de seleção também.
Eu tentei:
.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"])
Como usar &&
? E vou precisar usar em ||
breve, e acho que o uso será o mesmo.
Update:
Ainda não sei usar ||
e &&
corretamente. Não consegui encontrar nada nos documentos W3.
Respostas:
&&
funciona encadeando vários seletores como:Outro exemplo:
||
funciona separando vários seletores com vírgulas como:fonte
not
parece funcionar a partir do IE9 (graças ao gráfico fornecido por @geofflee).AND (
&&
):OU (
||
):fonte
||
). Atualizado para esclarecer.||
partir dos exemplos. Claro que se torna.registration_form_right input
após a simplificação, mas a essência é que você use o,
como||
. Você pode usarinput:not([type="radio"]), input:not([name="foo"])
para um exemplo não trivial.Para selecionar propriedades
a
Eb
de umX
elemento:Para selecionar propriedades
a
OUb
de umX
elemento:fonte
A
:not
pseudo-classe não é compatível com o IE. Eu consegui algo assim em vez disso:Alguma duplicação lá, mas é um pequeno preço a pagar por uma compatibilidade maior.
fonte
Você pode reproduzir de alguma forma o comportamento de "OU" usando & e: não.
fonte
Eu acho que você odeia escrever mais seletores e dividi-los por uma vírgula.
e BTW isso
parece-me mais com "entrada que não tem esses dois tipos" :)
fonte
radio
, (mas seria selecionar acheckbox
), ea segunda seria fazer o inverso. A união dos dois conteria amboscheckbox
eradio
.Apenas no caso de alguém estar preso como eu. Depois de passar pelo correio e alguns acertos e testes, isso funcionou para mim.
fonte
Uma palavra de cautela. Agrupar vários
not
seletores aumenta a especificidade do seletor resultante, o que torna mais difícil substituí-lo: você basicamente precisará encontrar o seletor com todos os nots e copiá-lo e colá-lo em seu novo seletor.Um
not(X or Y)
seletor seria ótimo para evitar o aumento da especificidade, mas acho que teremos que nos limitar a combinar os opostos, como nesta resposta .fonte