¿Hay alguna forma con CSS para apuntar a todas las entradas según su tipo? Tengo una clase deshabilitada que uso en varios elementos de formulario deshabilitados y estoy configurando el color de fondo para los cuadros de texto, pero no quiero que mis casillas de verificación obtengan ese color.
Sé que puedo hacer esto con clases separadas, pero prefiero usar CSS si es posible. Estoy seguro de que puedo configurar esto en javascript pero de nuevo buscando CSS.
Me dirijo a IE7 +. Entonces no creo que pueda usar CSS3.
Editar
Con CSS3 podría hacer algo como?
INPUT[type='text']:disabled
eso sería aún mejor deshacerse de mi clase por completo ...
Editar
¡De acuerdo, gracias por la ayuda! Entonces, aquí hay un selector que modifica todos los cuadros de texto y áreas que se han deshabilitado sin requerir la configuración de ninguna clase, cuando comencé esta pregunta, nunca pensé que esto fuera posible ...
INPUT[disabled][type='text'], TEXTAREA[disabled]
{
background-color: Silver;
}
Esto funciona en IE7
fuente
Respuestas:
Si. IE7 + admite selectores de atributos:
Entrada de elemento con tipo de atributo que contiene un valor que es igual a, comienza con, contiene o termina con un cierto valor.
Otros selectores seguros (IE7 +) son:
p > span { font-weight: bold; }
span ~ span { color: blue; }
Lo
<p><span/><span/></p>
que efectivamente te daría:Más información: compatibilidad con CSS del navegador en quirksmode.com
Me sorprende que todos los demás piensen que no se puede hacer. Los selectores de atributos CSS ya están aquí desde hace algún tiempo. Supongo que es hora de que limpiemos nuestros archivos .css.
fuente
Lamentablemente los otros carteles son correctos que eres... en realidad con las correcciones de Kron, que están bien con su IE7 y un médico estricto, pero la mayoría de nosotros con los requisitos de IE6 se reducen a JS o referencias de clase para esto, pero es una propiedad CSS2, solo una sin el soporte suficiente de los navegadores IE ^ h ^ h.Por completo, el selector de tipo es, similar a xpath, del formulario,
[attribute=value]
pero existen muchas variantes interesantes. Se va a ser muy potente cuando esté disponible, una buena cosa a tener en su cabeza para IE8.referencia w3
referencia de soporte del navegador
fuente
Puedes hacer esto con jQuery. Con sus selectores, puede seleccionar por atributos, como el tipo. Sin embargo, esto requiere que sus usuarios tengan activado Javascript y un archivo adicional para descargar, pero si funciona ...
fuente
Lo siento, la respuesta corta es no. CSS (2.1) solo marcará los elementos de un DOM, no sus atributos. Tendría que aplicar una clase específica a cada entrada.
Qué lástima, lo sé, porque sería increíblemente útil.
Sé que ha dicho que preferiría CSS sobre JavaScript, pero aún debería considerar usar jQuery. Proporciona una forma muy limpia y elegante de agregar estilos a los elementos DOM basados en atributos.
fuente