87 votes

Dois-je insérer des guillemets autour des noms de famille de police en CSS?

Je me souviens avoir entendu il y a longtemps qu'il était considéré comme "meilleure pratique" pour envelopper des guillemets autour des noms de polices qui contiennent plusieurs mots dans le CSS font-family propriété, comme ceci:

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

Pour le fun, j'ai essayé de supprimer les citations d' "Arial Narrow" et Safari et Firefox n'ont pas de problème de rendu.

Donc, est-il logique de cette règle de base, ou est-ce qu'un mythe? Était-il un problème avec les anciens navigateurs qui ne s'applique plus pour les versions actuelles? J'ai fait cela depuis si longtemps que je n'ai jamais cessé de penser que si c'était réellement nécessaire.

75voto

James Allardice Points 81162

Le CSS 2.1 spec nous dit que:

Noms de familles de police doivent être donnés cités comme des chaînes de caractères, ou non cotées comme une séquence d'un ou plusieurs identifiants. Cela signifie que la plupart des signes de ponctuation caractères et de chiffres au début de chaque jeton doit être échappé dans non cotées de la police des noms de famille.

Il continue à dire:

Si une séquence d'identifiants est donné comme nom de famille de polices, l' valeur calculée est le nom converti en une chaîne en se joignant à tous les les identificateurs dans la séquence par des espaces simples.

Pour éviter les erreurs à s'échapper, il est recommandé de citer famille de polices les noms contiennent des espaces blancs, des chiffres ou des caractères de ponctuation autres que des traits d'union:

Donc oui, il y a une différence, mais qui est peu susceptible de causer des problèmes. Personnellement, j'ai toujours cité les noms de police lorsqu'ils contiennent des espaces. Dans quelques (sans doute très rares) cas, les guillemets sont absolument nécessaires:

Noms de familles de police qui se trouvent être le même que la valeur du mot-clé ('inherit', 'serif', 'sans-serif', 'monospace', 'fantasy', et 'cursive') doit être cité, pour éviter la confusion avec les mots-clés avec les mêmes noms.

18voto

Djip Points 258

Selon le CSS Polices au Niveau du Module 3 spec octobre 2013, "lesnoms de famille de police autres que les familles génériques doivent être donnés cités comme des chaînes de caractères, ou non cotée comme une séquence d'un ou plusieurs identifiants". Si vous N'avez PAS besoin de les inclure dans le devis.

Toutefois, si vous n'avez pas "la plupart des signes de ponctuation et des chiffres au début de chaque jeton doit être échappé". Pour éviter d'échapper à des erreurs, le W3C recommande effectivement de citer des noms de famille de police contenant un espace blanc, chiffres, signes de ponctuation ou des valeurs de mot clé (‘inherit', ‘serif', etc.).

Le générique des noms de famille de police (‘serif', ‘sans-serif', ‘cursive', ‘fantasy', et ‘monospace') ne DOIT PAS être cité en tant qu'ils sont en réalité des mots-clés.

11voto

Rob W Points 125904

Les noms de police contenant des espaces doivent être cités. Il n'est pas recommandé de citer chaque nom de police par défaut, car les familles de polices génériques , telles que monospace , ne doivent pas être citées.

 font-family: monospace; /*Monospace font*/
font-family: "monospace"; /*Looking for a font called "monospace"*/
 

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X