importar - ¿Debo completar las citas de los nombres de las familias de fuentes en CSS?
fuentes html5 (3)
De acuerdo con la especificación de CSS Fonts Module Level 3 de octubre de 2013, "los nombres de las familias de fuentes 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 fuentes que contengan espacios en blanco, dígitos, puntuación o valores de palabras clave (''inherit'', ''serif'', etc.).
Los nombres genéricos de las familias de fuentes (''serif'', ''sans-serif'', ''cursive'', ''fantasy'' y ''monoespacio'') NO DEBEN ser citados, ya que en realidad son palabras clave.
Recuerdo haber escuchado hace mucho tiempo que se consideraba una "mejor práctica" incluir citas de nombres de fuentes que contienen varias palabras en la propiedad de la familia de fuentes 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 fuentes 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 fuentes 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 fuentes 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 fuentes cuando contienen espacios. En algunos casos (presumiblemente muy raros), las citas son absolutamente necesarias:
Los nombres de las familias de fuentes 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 fuentes.
También tenga en cuenta que la puntuación como / o! dentro de un identificador también puede necesitar ser citado o escapado.
Si el estilo está en línea, como <font style="font-family:Arial Narrow">some texte</font>
, 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 sintaxis especial con & quot; que se puede aplicar a todo tipo de nombres de fuentes desconocidas:
<font style="font-family:"a_CityNovaTitulB&WLt" , "Bailey''sCar"">some text</font>
En FireFox, la fuente mostrará el & quot; como esto: "
sin este truco, esto:
<font style="font-family:a_CityNovaTitulB&WLt ,Bailey''sCar">some text</font>
no funciona automáticamente en todos los navegadores. Es útil para el nombre de fuente que comienza con un número, como "8 pines".