Je regarde la page MDC pour la règle CSS @ font-face , mais je n'ai pas une chose. J'ai des fichiers séparés pour gras , italique et gras + italique . Comment puis-je intégrer les trois fichiers dans une seule @font-face
règle? Par exemple, si j'ai:
@font-face {
font-family: "DejaVu Sans";
src: url("./fonts/DejaVuSans.ttf") format("ttf");
}
strong {
font-family: "DejaVu Sans";
font-weight: bold;
}
Le navigateur ne saura pas quelle police utiliser pour les caractères gras (car ce fichier est DejaVuSansBold.ttf), donc il prendra par défaut quelque chose que je ne veux probablement pas. Comment puis-je indiquer au navigateur toutes les différentes variantes que j'ai pour une certaine police?
Réponses:
La solution semble être d'ajouter plusieurs
@font-face
règles, par exemple:Soit dit en passant, il semblerait que Google Chrome ne soit pas au courant de l'
format("ttf")
argument, vous pouvez donc ignorer cela.(Cette réponse était correcte pour la spécification CSS 2. CSS3 n'autorise qu'un seul style de police plutôt qu'une liste séparée par des virgules.)
la source
font-style: italic, oblique;
pourfont-style: italic;
sembler tout réparer.Depuis CSS3, la spécification a changé, ne permettant qu'un seul
font-style
. Une liste séparée par des virgules (selon CSS2) sera traitée comme si elle l'étaitnormal
et remplacera toute entrée antérieure (par défaut). Les polices ainsi définies apparaîtront en italique de façon permanente.Dans la plupart des cas, l'italique sera probablement suffisant et des règles obliques ne seront pas nécessaires si vous prenez soin de définir celui que vous utiliserez et de vous y tenir.
la source
I have separate files for bold, italic and bold + italic
- donc il y a trois fichiers différents. Cette réponse corrige celle acceptée en ce qu'ellefont-style: italic, oblique;
n'est plus valide, mais aussi que cette réponse utilisait le même fichier pour l'italique et l'oblique. Néanmoins, il convient de souligner que le fichier est partagé dans deux cas.Pour que la variation de police fonctionne correctement, j'ai dû inverser l'ordre de @ font-face en CSS.
la source
de nos jours, 2017-12-17. Je ne trouve aucune description de la nécessité de Font-property-order dans spec . Et je teste en chrome fonctionne toujours quelle que soit la commande.
la source
Si vous utilisez des polices Google, je suggère ce qui suit.
Si vous souhaitez que les polices s'exécutent à partir de votre hôte local ou de votre serveur, vous devez télécharger les fichiers.
Au lieu de télécharger les packages ttf dans les liens de téléchargement, utilisez le lien en direct qu'ils fournissent, par exemple:
Collez l'URL dans votre navigateur et vous devriez obtenir une déclaration de police similaire à la première réponse.
Ouvrez les URL fournies, téléchargez et renommez les fichiers.
Collez les déclarations de police mises à jour avec les chemins d'accès relatifs aux fichiers woff dans votre CSS, et vous avez terminé.
la source
la source
N'oubliez pas que pour une variante audacieuse, c'est
font-weight
; pour la variante italique, il estfont-style
la source
@font-face
, donc j'essaie de minimiser cette réponse (mais je ne peux pas, je n'ai pas assez de réputation)