Esta pregunta me ha estado molestando por un tiempo ahora. Al escribir un selector CSS que se compara contra un elemento del atributo como así.

a[rel="nofollow"]

Nunca sé lo que debo hacer con las comillas. ¿Son realmente necesarios?

Básicamente, ¿cuál es la especificación para esta porque no puedo encontrar en el sitio web.

Son todos estos considerados válidos?

a[rel="nofollow"]
a[rel='nofollow']
a[rel=nofollow]
InformationsquelleAutor Olical | 2011-04-07

2 Comentarios

  1. 75

    He escrito más ampliamente sobre el tema aquí: que no cotizadas en bolsa de valores de atributos en HTML y CSS.

    También he creado una herramienta para ayudarle a responder a su pregunta: http://mothereff.in/unquoted-attributes

    Atributo CSS selectores: las normas sobre El comillas (

    Generalmente, usted puede omitir las comillas mientras el valor del atributo es de tipo alfanumérico (sin embargo, hay algunas excepciones, consulte el artículo enlazado por todos los detalles). De todos modos, me parece que es una buena práctica agregar las citas de todos modos en caso de que lo necesites, es decir, a[href^=http://] no funciona, pero a[href^="http://"] voluntad.

    El artículo que he mencionado enlaces a los capítulos apropiados en la especificación CSS.

    • Esto es lo que yo quería saber. Aunque BoltClock del anser también es muy útil. Esto aclara lo que mi RegExp debe dejar pasar.
    • Actualizado mi respuesta con un enlace a un artículo que escribí el otro día. Contiene algunas expresiones regulares 🙂
    • (Reproducir mi respuesta como un comentario, ya que he eliminado un tiempo) Desde un punto de vista práctico: yo te recomiendo el uso de las comillas, ya sea simple o doble. De esta manera especial selector de caracteres dentro de los valores de atributo (aparte de la cita a sí mismos) no necesidad de escapar. Además — y esto es sólo un personal estilo de codificación preferencia así que no tome mi palabra para ella — me parece coherente con XHTML atributo de comillas.
    • Amén. Hazte un favor y sólo utilizar las cotizaciones de forma consistente, se ahorra un montón de dolores de cabeza!
    • Impresionado este sitio web está aún después de 7 años 🙂
  2. 25

    Valores de atributo deben ser identificadores o cadenas

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

    Los dos primeros el uso de cadenas. El tercer utiliza un identificador.

    identificadores (incluyendo los nombres de elementos, clases, y los Identificadores de los selectores) sólo puede contener los caracteres [a-zA-Z0-9] y la ISO 10646 caracteres U+00A0 y superior, además de que el guión (-) y el carácter de subrayado (_); no pueden comenzar con un dígito, dos guiones, o un guión seguido por un dígito.

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

    Cadenas de caracteres se pueden escribir con comillas dobles o con comillas simples.

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

    • Bien podría enlace a la especificación CSS3 lugar: w3.org/TR/css3-selectors/#attribute-selectors
    • CSS2 realidad es más útil porque yo estoy en el medio de la escritura de un CSS2 motor de selección. Así CSS2 es mejor para mí, pero gracias por el enlace, de todos modos.

Dejar respuesta

Please enter your comment!
Please enter your name here