2011-06-11 13 views
35

Me preguntaba si es posible especificar los elementos en CSS, donde un atributo es igual a uno de dos valores, algo como esto:Selector de atributos donde el valor es igual a A o B?

input[type=text][type=password] 

Sin embargo, no parece este selector para trabajar (supongo que porque especificando el el mismo atributo dos veces no es válido), ¿alguien sabe cómo hacer esto?

+2

Especificar el mismo atributo en dos ocasiones es válido. Especificar el mismo atributo dos veces con diferentes valores también es válido. Es solo que este último es contradictorio e imposible de cumplir. – BoltClock

+0

Sí, interpreté mal la forma en que manejaba múltiples selectores de atributos, pensé que podría ser un caso, pero estaba funcionando como un caso. –

+0

Pregunta más general: http://stackoverflow.com/questions/7517429/css-selector-a-or-b-and-c, no solo atributos, y asuntos anidados. –

Respuesta

37

Como esta? http://jsfiddle.net/m242t/

HTML:

<form> 
Username: <input type="username" name="Username" value="Username" /><br /> 
Password: <input type="password" name="Password" value="Password" /><br /> 
<input type="submit" value="Submit" /> 
</form> 

CSS:

input[type="username"], input[type="password"] { 
    color: blue; 
} 
+0

¿Qué sucede si queremos seleccionar una clase que tenga cualquiera de esos tipos de entrada? – User

+12

Esta respuesta es realmente inválida, su solución requiere dos selectores por separado. Tal como se mencionó en @boltclock, no existe un selector singular que pueda hacer coincidir varios valores de un atributo. – biphobe

+0

@biphobe OP no especificó que querían * un * selector. Querían saber cómo hacer lógica O con atributos, y así es como. Tu comentario no es válido – TylerH

Cuestiones relacionadas