CSSLab: ¿Con o sin comillas?

Al declarar algunos valores en propiedades CSS como background-image, usualmente se permite poner o no el valor entre comillas dobles "" ó simples ». Si escribes el código a mano, no las utilizas. Si usas algún editor, quizas las agrega. Pero ¿se debe o no poner comillas?

Esta pregunta que ha intrigado al hombre por años no tiene una respuesta definitiva. Por lo menos no la he encontrado de manos de la W3C, pero sí el uso de comillas en ciertas declaraciones tiene sentido:

… single quotes (‘), and double quotes (") must come in matching pairs …

Primero, no dice que deben ser utilizadas. Segundo, dice que si las utilizas, deben estar en par (si abres con comilla simple cierra con simple, etc.). Pero:

Inside the quotes, characters are parsed as a string.

Esto es lo importante. Si utilizas las comillas simples o dobles, el valor se pasa como string. Un ejemplo práctico y descuidado: si tienes una imagen con espacios en su nombre:

background: url('back ground.png');

Si utilizas comillas en su declaración la imagen se mostrará:

[Ver ejemplo con comillas][1]{.verejemplo}

Si no la utilizas, el browser no encontrará la imagen:

[Ver ejemplo sin comillas][2]{.verejemplo}

Este comportamiento es independiente del [doctype][3] que estés utilizando. Yo las uso.

  • [W3C: Syntax and basic data types][4]

[1]: http://www.csslab.cl/ejemplos/comillas/concomillas.html “Enlace en CSSLab a “Ejemplo con comillas”” [2]: http://www.csslab.cl/ejemplos/comillas/sincomillas.html “Enlace en CSSLab a “Ejemplo sin comillas”” [3]: http://www.csslab.cl/2005/11/30/¿strict-o-no-strict/ “Enlace en CSSLab a “¿Strict o no Strict?”” [4]: http://www.w3.org/TR/CSS2/syndata.html “Enlace externo a “W3C: Syntax and basic data types””