¿Debo completar las citas de los nombres de las familias de fonts en CSS?

Recuerdo haber escuchado hace mucho tiempo que se consideraba una “mejor práctica” incluir citas de nombres de fonts que contienen varias palabras en la propiedad de la familia de fonts CSS, como esta:

font-family: "Arial Narrow", Arial, Helvetica, sans-serif; 

Por suerte, intenté eliminar las comillas de "Arial Narrow" y Safari y Firefox no tienen ningún problema al renderizarlo.

Entonces, ¿hay alguna lógica en esta regla de oro, o es solo un mito? ¿Fue un problema con los navegadores más antiguos que ya no se aplica a las versiones actuales? He estado haciendo esto durante tanto tiempo que nunca dejé de pensar si realmente era necesario.

La especificación CSS 2.1 nos dice que:

Los nombres de familia de fonts se deben proporcionar entre comillas o sin comillas como una secuencia de uno o más identificadores. Esto significa que la mayoría de los caracteres de puntuación y dígitos al comienzo de cada token deben ser escapados en nombres de familia de fonts sin comillas.

Continúa diciendo:

Si se da una secuencia de identificadores como un nombre de familia de fuente, el valor calculado es el nombre convertido a una cadena uniendo todos los identificadores en la secuencia por espacios individuales.

Para evitar errores en el escape, se recomienda citar los nombres de las familias de fonts que contengan espacios en blanco, dígitos o signos de puntuación que no sean guiones:

Entonces sí, hay una diferencia, pero es poco probable que cause ningún problema. Personalmente, siempre he citado nombres de fonts cuando contienen espacios. En algunos casos (presumiblemente muy raros), las citas son absolutamente necesarias:

Los nombres de las familias de fonts que coinciden con el valor de una palabra clave (‘inherit’, ‘serif’, ‘sans-serif’, ‘monoespacio’, ‘fantasía’ y ‘cursiva’) deben citarse para evitar confusiones con las palabras clave con los mismos nombres Las palabras clave ‘inicial’ y ‘predeterminada’ están reservadas para uso futuro y también deben citarse cuando se utilizan como nombres de fonts.

También tenga en cuenta que la puntuación como / o! dentro de un identificador también puede necesitar ser citado o escapado.

De acuerdo con la especificación de CSS Fonts Module Level 3 de octubre de 2013, “los nombres de las familias de fonts distintas de las genéricas se deben citar como cadenas o no se deben citar como una secuencia de uno o más identificadores “. Por lo tanto, NO es necesario que los incluya entre comillas.

Sin embargo, si no lo hace, “la mayoría de los caracteres de puntuación y dígitos al comienzo de cada token deben ser escapados “. Para evitar errores de escape, el W3C realmente recomienda citar nombres de familias de fonts que contengan espacios en blanco, dígitos, puntuación o valores de palabras clave (‘inherit’, ‘serif’, etc.).

Los nombres generics de las familias de fonts (‘serif’, ‘sans-serif’, ‘cursive’, ‘fantasy’ y ‘monoespacio’) NO DEBEN ser citados, ya que en realidad son palabras clave.

Si el estilo está en línea, como some texte , funciona.

Pero si el nombre de la fuente policial contiene algunos caracteres especiales, o comienza con un número que contiene citas u otras cosas extrañas (como “01 Digitall” o “a_CityNovaTitulB & WLt” o “Bailey’sCar”), debe usar una syntax especial con & quot; que se puede aplicar a todo tipo de nombres de fonts desconocidas:

 some text 

En FireFox, la fuente mostrará el & quot; como esto:

sin este truco, esto:

 some text 

no funciona automáticamente en todos los navegadores. Es útil para el nombre de fuente que comienza con un número, como “8 pines”.

Intereting Posts