Il existe essentiellement deux façons de rendre une police en gras en CSS: via l' font-family
attribut et via l' font-weight
attribut.
Supposons que j'utilise la police Raleway par exemple et que j'ai chargé une variante Light, Regular, Semibold et Bold via css. Je pourrais mettre une simple rubrique en gras en la définissant sur h1{font-family: 'Raleway Bold'}
ou sur h1{font-weight: 700}
.
Laquelle de celles-ci est la plus correcte, ou sont-elles toutes les deux identiques?
Réponses:
Disons que nous avons chargé une variante de police en gras comme ceci:
Je plaiderais en faveur de l'utilisation des deux
font-family
etfont-weight
dans votre spécification de style. Par exemple:Les deux font essentiellement la même chose: dites à votre rubrique1 d'être en gras. Cela ne doublera pas l'audace ou quoi que ce soit, il répète simplement qu'il doit être audacieux.
La raison en est assez simple: si votre fichier de police n'est pas chargé (surcharge du serveur, restrictions client, vaudou), votre visiteur verra quand même une police en gras (dans ce cas un Helvetica en faux gras) et pourra ainsi distinguer un titre et le corps du texte, ce qui ne serait pas le cas si vous aviez seulement spécifié le
font-family
.Voir dans cette image l'ensemble supérieur est Raleway et Raleway Italic mais a le bon Raleway Italic chargé avec:
<link href='https://fonts.googleapis.com/css?family=Raleway:500,500italic' rel='stylesheet' type='text/css'>
Le fond ne charge que Raleway. En conséquence, le jeu inférieur a Raleway et FAUX Raleway italic. Notez les différences en minuscules "a" et "k" par exemple entre le vrai italique et le faux italique. Une police bien conçue aura des différences entre les caractères réguliers, les caractères gras et l'italique que vous n'obtiendrez pas si vous ne les chargez pas.
la source
font-family: 'Raleway'
(en contradiction avec votre exemple audacieux ci-dessus) mais, en outre, indépendamment du fait de nommer toute la familleRaleway
ou chaque variante individuellement avec des noms de famille de polices différents, cela n'a absolument aucune incidence sur l'application de faux ou non . Même votre propre exemple le prouve est une méthode incorrecte, que votre conditionfont-family: 'Raleway Bold', Helvetica, Arial, sans;
ne disposeHelvetica Bold
etArial Bold
individuellement parce que c'est juste la façon incorrecte des variantes font en cascade.Alors que les deux façons vous donneront la sortie correcte, la manière la plus correcte serait d'utiliser une seule famille de polices pour regrouper toutes les différentes variantes de poids et de styles. C'est de la même manière que vous utilisez les polices système (de 'Arial' à 'sans-serif') et, en fait, si vous utilisez des polices Google pour charger Raleway, vous utiliseriez la route de famille de polices unique.
Décrivons plusieurs raisons pour lesquelles c'est la bonne méthode.
Il réduit la complexité CSS et, finalement, la taille du fichier
Avoir une seule famille de polices signifie que vous pouvez définir un élément contenant entier avec la famille de polices, et seulement certains éléments avec différents poids / styles. Prenons l'exemple suivant:
Remarquez à quel point ce CSS est agréable et agréable. Nous n'avions pas besoin de spécifier "RalewayBold" comme famille de polices pour .bold, ni "RalewayItalic" pour notre .italic. En fait, nous n'avons même pas besoin de spécifier une variante en gras et en italique, car nos classes fonctionneront simplement. De plus, si .bold est à l'intérieur de notre .footer, ce sera Arial en gras et non Raleway, car il hérite simplement Arial du conteneur de pied de page.
C'est la façon dont le navigateur le fait.
Ce qui précède est essentiellement la façon dont la feuille de style interne du navigateur définit les polices en utilisant des styles minimaux et la nature en cascade inhérente de CSS.
C'est la façon dont l'industrie le fait et l'a fait.
Les plus grandes propriétés Web, applications et éditeurs le font tous de cette façon. Google, Facebook, NYT, ESPN, etc. définissent et utilisent tous des polices de cette manière.
Non seulement cela, mais les interfaces utilisateur avant le CSS ou même Internet spécifient des familles de polices uniques et choisissent des variantes basées sur des spécifications différentes de poids et de style. Chargez Microsoft Word, KeyNote, Google Docs, même un ancien WordPerfect de la fin des années 1990 et ouvrez le menu déroulant des polices; Vous verrez le nom de la famille de polices "Arial" répertorié; pas "Arial" suivi de "Arial Bold" suivi de "Arial Italic" etc.
Il suffit de charger à partir de Google Fonts.
Si vous chargez Raleway à partir du référentiel de polices Web gratuites sur Google Fonts, vous verrez que Raleway est défini avec un seul nom de famille:
https://fonts.googleapis.com/css?family=Raleway:400,400italic,500,500italic,700,700italic
la source
Raleway
avec les variantes de poids / style ou définissant incorrectement les variantes individuellesRaleway Bold
etRaleway Italic
comme familles de polices individuelles) n'a aucune incidence sur l'application de fausses variations ou non. En fait, regrouper correctement la famille sous le même nom aide le navigateur à choisir une variante plus proche pour appliquer un faux style tout en nommant incorrectement chaque variante séparément, le navigateur reste dans le noir des polices disponibles pour appliquer des variantes si la police souhaitée n'est pas chargée.font-family:Arial; font-weight:bold;
(ce qui, encore une fois, est la bonne façon de le faire, que ce soit Arial ou Raleway) pensez-vous que le navigateur applique un faux gras à une police Arial normale? Incorrect. Le navigateur charge le visage de la police ArialBold comme le système le définit et ce n'est que si aucune police exacte n'est disponible qu'il appliquera un faux style à la meilleure police correspondante en fonction du nom de la famille de polices, c'est pourquoi elles doivent être les mêmes! Je ne peux pas dire "Faites ça pour Arial, mais pas pour Raleway".Voici la chose, si vous posez la question sur Raleway, une police Web programmée pour CSS, les deux méthodes fonctionnent également bien. Dans ce cas, utilisez le poids de la police car c'est la ligne de conduite "correcte" qui sera plus facile à modifier et à contrôler sans changements majeurs dans le code.
Maintenant, vous commencez à avoir des problèmes une fois que vous avez incorporé une police vous-même, une police qui n'est pas nécessairement prévue pour CSS et les poids peuvent ne pas correspondre aux chiffres.
Pour cette raison, un bogue très courant sur les polices incorporées, extrêmement courant dans les polices non anglaises, est que css "boldens" ou "éclaircit" la police automatiquement et le résultat est très mauvais.
Par conséquent, je recommande que si vous utilisez une police Web comme les polices sur les polices Google, allez-y et utilisez les chiffres sur le poids de la police, mais lorsque vous incorporez une police vous-même, restez prudent et utilisez la famille de polices pour chaque poids séparément .
la source