2012-06-29 19 views
23

De acuerdo con la especificación W3 CSS, algo como: input[type~="text password"] debe seleccionar campos de entrada cuyo tipo esté configurado como "texto" o "contraseña", ¡pero no funciona! ¿He malinterpretado esta línea?Selectores CSS de entrada múltiple [tipo]

E [foo ~ = "warning"] Equivale a cualquier elemento E cuyo valor de atributo "foo" es una lista de valores separados por espacios, uno de los cuales es exactamente igual a "aviso".

CSS spec source, es el cuarto de la parte inferior de la tabla.

+0

En [fuente de especificación CSS] (https://www.w3.org/TR/CSS2/selector.html#pattern-matching), podemos ver esta nota: Varias secciones de esta especificación han sido actualizado por otras especificaciones. Consulte "** [Hojas de estilo en cascada (CSS) - Definición oficial] (https://www.w3.org/TR/CSS/#css) **" en la última instantánea de CSS para obtener una lista de especificaciones y las secciones que reemplazan. – Nolwennig

Respuesta

29

Sí, lo tienes por el camino equivocado. El selector es buscar dentro de una lista de espacios separados .. es decir

<element attribute="text password" />

se puede encontrar usando:

element[attribute~="text"]

La ventaja de esto es que no debe coincidir:

<element attribute="textual password" />

Espero que ayude?

para lograr lo que en realidad estamos tratando de hacer es un poco más detallado:

input[type="text"], input[type="password"]

+0

Jaja, gracias. Me di cuenta de que esto es lo que querían decir después de pensarlo más. XD –

0

Estás leyendo mal. E[foo~="warning"] seleccionará cualquier elemento que tenga una lista de advertencia de espacio separado. De esta manera: <el foo="test warning etc" />

Cuestiones relacionadas