Je suis développeur web et je travaille sur un projet qui utilise Quicksand Light / Regular / Bold comme police. La police standard de l'application Web est Quicksand regular mais il y a aussi du texte plus léger et plus audacieux.
En tant que développeur Web, j'appliquerais normalement un style CSS simple comme ceci:
font-weight: bold; // or 400, 600, 800
Est-ce une astuce valable pour éviter de définir la police sur chaque élément qui n'est pas "régulier"? Sinon, y a-t-il des polices qui fonctionnent comme ça? (c'est-à-dire les modifier via CSS pour obtenir une police différente)
website-design
fonts
css
font-weight
dragonmnl
la source
la source
Réponses:
Polices Web
Il existe 2 façons de définir des polices Web avec
@font-face
. Le premier, et probablement le plus courant (je pense que la plupart des générateurs, Font Squirrel par exemple, produira cela) est de définir chaque fichier de police (c'est-à-dire chaque poids et style) avec son propre nom de famille unique.Notez que le
font-weight
etfont-style
sur chacun est réglé sur normal et chacun a unfont-family
nom unique . Cela signifie que chaque fois que vous définissez unfont-weight
oufont-style
autre chose que la normale, vous obtenez des "faux" styles mis en œuvre par le navigateur, pas les styles du fichier de police correct. Cela peut également conduire à un "double" gras ou italique si vous ne réinitialisez pas les styles CSS par défaut du navigateur à "normal". Par exemple:Sans réinitialiser le
font-weight
à la normale, cela rendra plus audacieux qu'il ne le devrait puisque le navigateur charge le fichier de police en gras et ajoute son propre faux style gras puisque le style par défaut destrong
estfont-weight: bold;
.Une meilleure façon:
Notez la définition du fichier de polices
font-weight
etfont-style
correspondez-y correctement et tous utilisent le mêmefont-family
nom. Déclarer vos polices de cette manière signifie que vous pouvez utiliserfont-weight
etfont-style
dans n'importe où dans votre CSS exactement comme vous vous y attendez et vous obtiendrez la police correcte, sans style "faux".Seuls les mots clés "gras" et "italique" sont susceptibles d'être compris par tous les navigateurs, vous devez donc utiliser le numéro de poids de police spécifique à la place. Gardez également à l'esprit que les navigateurs n'arrondissent généralement pas bien le poids des polices, alors spécifiez le poids que vous voulez exactement et assurez-vous qu'ils correspondent dans votre
@font-face
déclaration et les styles CSS.Le problème avec cette méthode est qu'Internet Explorer 8 ou inférieur ne reconnaît pas plusieurs styles et poids qui utilisent le même
font-family
nom. Je crois que cela a également causé des problèmes dans les anciennes versions d'iOSGoogle Fonts contourne ce problème en servant conditionnellement IE 8 ou une version antérieure avec uniquement la police standard et en laissant IE "truquer" les autres styles. Pas idéal.
Cet article sur smashingmagazine.com suggère d'ajouter conditionnellement les styles séparément pour Internet Explorer, ce qui devrait contourner le problème des poids et styles multiples:
Donc, si vous souhaitez utiliser
font-weight
etfont-style
dans votre CSS sans vous soucier du nom de la police réelle, ne vous fiez pas aux générateurs de polices Web et configurez@font-face
correctement la déclaration vous-même, et sachez que cela causera des problèmes dans les anciens navigateurs.Polices de bureau
La déclaration des polices qui ne sont pas incorporées à l'aide
@font-face
n'utilisera que les polices installées sur l'ordinateur des utilisateurs. Ceux - ci doivent respecter toutfont-weight
etfont-style
styles et charger les polices correctes (Tous mes tests dans Chrome et Firefox sur le travail OS X comme prévu), mais cela peut dépendre de navigateur et système d' exploitation, et dépendront de la désignation des polices dans les fichiers de police eux - mêmes - des choses sur lesquelles vous n'avez pas vraiment de contrôle.la source
font-family: YourFontBold; font-weight:normal;
chaque fois. Vous devez donc utiliser l'autre méthode.