selector css para hacer coincidir un elemento sin atributo x [duplicado]
Estoy trabajando en un archivo CSS y encuentro la necesidad de aplicar estilo a los cuadros de entrada de texto; sin embargo, tengo problemas. Necesito una declaración simple que coincida con todos estos elementos:
<input />
<input type='text' />
<input type='password' />
... pero no coincide con estos:
<input type='submit' />
<input type='button' />
<input type='image' />
<input type='file' />
<input type='checkbox' />
<input type='radio' />
<input type='reset' />
Esto es lo que me gustaría hacer:
input[!type], input[type='text'], input[type='password'] {
/* styles here */
}
En el CSS anterior, observe que el primer selector es input[!type]
. Lo que quiero decir con esto es que quiero seleccionar todos los cuadros de entrada donde no se especifica el atributo de tipo (porque el valor predeterminado es texto pero input[type='text']
no coincide). Desafortunadamente, no pude encontrar ningún selector de este tipo en la especificación CSS3.
¿Alguien sabe de una manera de lograr esto?
:not
selector:
input:not([type]), input[type='text'], input[type='password'] {
/* style here */
}
Soporte: en Internet Explorer 9 y superior
Para una solución más compatible con varios navegadores, puede diseñar todas las entradas de la forma que desee: texto no escrito y contraseña, y luego otro estilo anula ese estilo para radios, casillas de verificación, etc.
input { border:solid 1px red; }
input[type=radio],
input[type=checkbox],
input[type=submit],
input[type=reset],
input[type=file]
{ border:none; }
- O -
¿Podría cualquier parte de su código que genere las entradas no escritas darles una clase similar .no-type
o simplemente no generar ninguna salida? Además este tipo de selección se podría realizar con jQuery.