Entrada de pseudo classes CSS: not (desativado) not: [type = “submit”]: focus


138

Desejo aplicar algumas CSS para elementos de entradas e quero fazer isso apenas para entradas que não estão desabilitadas e não são do tipo de envio, abaixo de css não está funcionando, talvez se alguém puder me explicar como isso deve ser adicionado.

input:not(disabled)not:[type="submit"]:focus{
box-shadow:0 0 2px 0 #0066FF;
-webkit-box-shadow:0 0 4px 0 #66A3FF;
}

Respostas:


284

Ao invés de:

input:not(disabled)not:[type="submit"]:focus {}

Usar:

input:not([disabled]):not([type="submit"]):focus {}

disabledé um atributo, portanto, ele precisa dos colchetes e você parece ter misturado / faltando dois pontos e parênteses no :not()seletor.

Demonstração: http://jsfiddle.net/HSKPx/

Uma coisa a ser observada: posso estar errado, mas não acho que as disabledentradas normalmente possam receber foco, portanto essa parte pode ser redundante.

Como alternativa, use :enabled

input:enabled:not([type="submit"]):focus { /* styles here */ }

Mais uma vez, não consigo pensar em um caso em que a entrada desativada possa receber foco, por isso parece desnecessário.


41
: not ([desativado]) é uma maneira muito detalhada de escrever: enabled developer.mozilla.org/pt-BR/docs/Web/CSS/:enabled
Adria

@Adria não funcionou para mim com <a> 's. Tinha um com <a disabled='disabled'> e precisava usar especificamente o seletor: disabled. FF65.
Robert Niestroj 7/12

por alguma razão ": ativado" não estava funcionando no IE 11 para mim
SLCH000

Existe alguma diferença entre usar o :not([disabled])VS. :not(:disabled)?
bubencode

15

Sua sintaxe é bem esquisita.

Mude isso:

input:not(disabled)not:[type="submit"]:focus{

para:

input:not(:disabled):not([type="submit"]):focus{

Parece que muitas pessoas não percebem :enablede :disabledsão seletores CSS válidos ...


5
Por que não reduzi-lo ainda mais input:enabled:not([type="submit"]):focus{?
Sean the Bean

7

Você tem alguns erros de digitação no seu select. Deveria ser:input:not([disabled]):not([type="submit"]):focus

Veja este jsFiddle para uma prova de conceito. Em uma nota de rodapé, se eu removi a propriedade "background-color", a sombra da caixa não funciona mais. Não sei por que.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.