Existe alguma maneira com o CSS de direcionar todas as entradas com base em seu tipo? Eu tenho uma classe desativada que uso em vários elementos de formulário desativados e estou definindo a cor de fundo para as caixas de texto, mas não quero que minhas caixas de seleção tenham essa cor.
Eu sei que posso fazer isso com classes separadas, mas prefiro usar CSS, se possível. Tenho certeza que posso definir isso em javascript, mas novamente procurando CSS.
Estou visando o IE7 +. Então, eu não acho que posso usar CSS3.
Editar
Com CSS3 eu seria capaz de fazer algo como?
INPUT[type='text']:disabled
isso seria ainda melhor me livrar da minha classe completamente ...
Editar
Ok, obrigado pela ajuda! Então aqui está um seletor que modifica todas as caixas de texto e áreas que foram desabilitadas sem a necessidade de definir nenhuma classe, quando comecei esta pergunta nunca pensei que isso fosse possível ...
INPUT[disabled][type='text'], TEXTAREA[disabled]
{
background-color: Silver;
}
Isso funciona no IE7
fonte
Respostas:
Sim. IE7 + suporta seletores de atributos:
Entrada de elemento com tipo de atributo que contém um valor que é igual a, começa com, contém ou termina com um determinado valor.
Outros seletores seguros (IE7 +) são:
p > span { font-weight: bold; }
span ~ span { color: blue; }
O
<p><span/><span/></p>
que efetivamente lhe daria:Leitura adicional: Compatibilidade CSS do navegador em quirksmode.com
Estou surpreso que todo mundo pense que isso não pode ser feito. Os seletores de atributos CSS já existem há algum tempo. Acho que é hora de limpar nossos arquivos .css.
fonte
Infelizmente, os outros participantes estão corretos, dizendo que você está... na verdade corrigido por kRON, você está ok com seu IE7 e um documento rígido, mas a maioria de nós com requisitos do IE6 são reduzidos a referências de classe ou JS para isso, mas é uma propriedade CSS2, apenas uma sem suporte suficiente dos navegadores IE ^ h ^ h.Por estar completo, o seletor de tipo é - semelhante ao xpath - do formulário,
[attribute=value]
mas existem muitas variantes interessantes. Ele será bastante poderoso quando estiver disponível, bom manter em mente para o IE8.referência w3
referência de suporte do navegador
fonte
Você pode fazer isso com jQuery. Usando seus seletores, você pode selecionar por atributos, como tipo. Isso, no entanto, requer que seus usuários tenham o Javascript ativado e um arquivo adicional para baixar, mas se funcionar ...
fonte
Desculpe, a resposta curta é não. CSS (2.1) marcará apenas os elementos de um DOM, não seus atributos. Você teria que aplicar uma classe específica para cada entrada.
Que chatice eu sei, porque isso seria incrivelmente útil.
Eu sei que você disse que prefere CSS ao invés de JavaScript, mas você ainda deve considerar o uso de jQuery. Ele fornece uma maneira muito limpa e elegante de adicionar estilos a elementos DOM com base em atributos.
fonte