selectores etiquetas ejemplo avanzados adyacente css string css-selectors

etiquetas - Selectores de atributos CSS: las reglas sobre las comillas("," o ninguno?)



selectores avanzados css (2)

Los valores de atributo deben ser identificadores o cadenas

- http://www.w3.org/TR/CSS2/selector.html#attribute-selectors

Los primeros dos usan cadenas. El tercero usa un identificador.

los identificadores (incluidos nombres de elementos, clases e ID en selectores) pueden contener solo los caracteres [a-zA-Z0-9] e ISO 10646 caracteres U + 00A0 y superiores, más el guión (-) y el guión bajo (_); no pueden comenzar con un dígito, dos guiones o un guión seguido de un dígito.

- http://www.w3.org/TR/CSS2/syndata.html#value-def-identifier

Las cadenas se pueden escribir con comillas dobles o con comillas simples.

- http://www.w3.org/TR/CSS2/syndata.html#strings

Esta pregunta me ha estado molestando por un tiempo. Al escribir un selector de CSS que se compare con el atributo de un elemento como ese.

a[rel="nofollow"]

Nunca sé lo que debería hacer con las comillas. ¿Son realmente necesarios?

Básicamente, ¿cuál es la especificación para esto porque no puedo encontrarlo en el sitio web?

¿Todos estos son considerados válidos?

a[rel="nofollow"] a[rel=''nofollow''] a[rel=nofollow]


He escrito más extensamente sobre el tema aquí: valores de atributo sin comillas en HTML y CSS .

También creé una herramienta para ayudarlo a responder su pregunta: http://mothereff.in/unquoted-attributes

Por lo general, puede omitir las comillas siempre que el valor del atributo sea alfanumérico (sin embargo, hay algunas excepciones; consulte el artículo vinculado para obtener todos los detalles). De todos modos, me parece una buena práctica agregar las citas de todos modos en caso de que las necesites, es decir, a[href^=http://] no funcionará, pero a[href^="http://"] .

El artículo que mencioné contiene enlaces a los capítulos apropiados en las especificaciones de CSS.