Je me souviens avoir entendu il y a longtemps qu'il était considéré comme une "meilleure pratique" d'encapsuler des guillemets autour des noms de polices contenant plusieurs mots dans la propriété CSS font-family, comme ceci:
font-family: "Arial Narrow", Arial, Helvetica, sans-serif;
Pour le plaisir, j'ai essayé de supprimer les guillemets "Arial Narrow"
et Safari et Firefox n'ont aucun problème à le rendre.
Alors, y a-t-il une logique à cette règle empirique ou est-ce juste un mythe? S'agit-il d'un problème avec les anciens navigateurs qui ne s'applique plus aux versions actuelles? Je fais ça depuis si longtemps que je n'ai jamais cessé de penser si c'était réellement nécessaire.
Réponses:
La spécification CSS 2.1 nous dit que:
Il continue en disant:
Alors oui, il y a une différence, mais une qui est peu susceptible de causer des problèmes. Personnellement, j'ai toujours cité les noms de polices lorsqu'ils contiennent des espaces. Dans quelques cas (vraisemblablement très rares), les citations sont absolument obligatoires:
Notez également que la ponctuation telle que / ou! dans un identificateur peut également avoir besoin d'être entre guillemets ou échappé.
la source
initial
etdefault
sont également des mots-clés (ils sont réservés pour une utilisation future). Voir Noms de famille de polices sans guillemets dans CSS .Selon la spécification de niveau 3 du module de polices CSS d'octobre 2013, « les noms de familles de polices autres que les familles génériques doivent être soit indiqués entre guillemets sous forme de chaînes, soit sans guillemets comme une séquence d'un ou plusieurs identifiants ». Vous n'avez donc PAS besoin de les mettre entre guillemets.
Cependant, si vous ne le faites pas, "la plupart des caractères de ponctuation et des chiffres au début de chaque jeton doivent être échappés ". Pour éviter les erreurs d'échappatoire, le W3C recommande en fait de citer les noms de familles de polices contenant des espaces blancs, des chiffres, des signes de ponctuation ou des valeurs de mots-clés ('inherit', 'serif', etc.).
Les noms de famille de polices génériques («serif», «sans-serif», «cursive», «fantasy» et «monospace») NE DOIVENT PAS être cités car ce sont en fait des mots-clés.
la source
Si le style est en ligne, comme
<font style="font-family:Arial Narrow">some texte</font>
, cela fonctionne.Mais si le nom de la police police contient des caractères spéciaux, ou commence par un nombre contient des guillemets ou d'autres choses étranges (comme "01 Digitall" ou "a_CityNovaTitulB & WLt" ou "Bailey'sCar"), vous devez utiliser une syntaxe spéciale avec & quot; qui peut être appliqué à toutes sortes de noms de polices étranges:
Dans FireFox, la source affichera le & quot; comme ceci: "
sans cette astuce, ceci:
ne fonctionne pas automatiquement dans tous les navigateurs. C'est utile pour le nom de police qui commence par un nombre à, comme "8 broches".
la source