Grundsätzlich gibt es zwei Möglichkeiten, eine Schrift in CSS fett zu machen: über das font-family
Attribut und über das font-weight
Attribut.
Angenommen, ich verwende zum Beispiel die Schriftart Raleway und habe eine Light-, eine Regular-, eine Semibold- und eine Bold-Variante über CSS geladen. Ich könnte eine einfache Überschrift fett machen, indem ich sie auf h1{font-family: 'Raleway Bold'}
oder auf setze h1{font-weight: 700}
.
Welche davon ist korrekter oder sind beide gleich?
Antworten:
Angenommen, wir haben eine fett gedruckte Schriftvariante wie folgt geladen:
Ich würde mich dafür aussprechen, beides
font-family
undfont-weight
Ihre Stilspezifikation zu verwenden. Zum Beispiel:Beide machen im Grunde das Gleiche: Sagen Sie Ihrer Überschrift1, dass sie fett sein soll. Dies wird die Kühnheit oder irgendetwas nicht verdoppeln, es wiederholt nur, dass es mutig sein muss.
Der Grund dafür ist ziemlich einfach: Wenn Ihre Schriftartdatei nicht geladen ist (Serverüberlastung, Client-Einschränkungen, Voodoo), sieht Ihr Besucher immer noch eine fette Schrift (in diesem Fall eine faux fette Helvetica) und kann somit zwischen einem Titel unterscheiden und der Textkörper, der nicht der Fall wäre, wenn Sie nur den angegeben hätten
font-family
.In diesem Bild sehen Sie als oberstes Set Raleway und Raleway Italic, aber es wird das richtige Raleway Italic geladen mit:
<link href='https://fonts.googleapis.com/css?family=Raleway:500,500italic' rel='stylesheet' type='text/css'>
Der Boden lädt nur Raleway. Infolgedessen ist im unteren Satz Raleway und FAUX Raleway kursiv dargestellt. Beachten Sie die Unterschiede in Kleinbuchstaben "a" und "k" zum Beispiel zwischen echt kursiv und faux kursiv. Eine gut gestaltete Schriftart weist Unterschiede zwischen Normalen, Fettdrucken und Kursivschrift auf, die Sie nicht erhalten, wenn Sie sie nicht laden.
quelle
font-family: 'Raleway'
(im Widerspruch zu Ihrem fettgedruckten Beispiel oben), sondern unabhängig davon, ob Sie die gesamte FamilieRaleway
oder jede Variante einzeln mit unterschiedlichen Schriftfamiliennamen benennen, hat dies absolut keinen Einfluss auf die Anwendung von Faux oder nicht . Auch Ihr eigenes Beispiel beweist dies eine falsche Methode ist, als zur Verfügung gestelltfont-family: 'Raleway Bold', Helvetica, Arial, sans;
hatHelvetica Bold
undArial Bold
individuell , weil das ist nur der falsche Weg , um Kaskade Font - Varianten.Während beide Methoden die richtige Ausgabe liefern, besteht die korrektere Methode darin, eine einzige Schriftfamilie zu verwenden, um alle verschiedenen Varianten von Gewichten und Stilen zu gruppieren. Auf die gleiche Weise verwenden Sie Systemschriftarten (von "Arial" bis "serifenlos"). Wenn Sie zum Laden von Raleway Google-Schriftarten verwenden, verwenden Sie die Route der einzelnen Schriftfamilien.
Lassen Sie uns einige Gründe skizzieren, warum dies die richtige Methode ist.
Es reduziert die CSS-Komplexität und letztendlich die Dateigröße
Mit einer einzigen Schriftfamilie können Sie ein ganzes Element mit der Schriftfamilie und nur bestimmte Elemente mit unterschiedlicher Gewichtung / Stil definieren. Nehmen Sie zum Beispiel Folgendes:
Beachten Sie, wie nett und konsequent dieses CSS ist. Wir mussten weder "RalewayBold" als Schriftfamilie für .bold noch "RalewayItalic" für unsere .italic angeben. Tatsächlich müssen wir nicht einmal eine fette und kursive Variante angeben, da unsere Klassen einfach funktionieren. Wenn sich .bold in unserer .footer befindet, ist es fett und nicht Raleway, da es Arial einfach vom Fußzeilencontainer erbt.
So macht es der Browser.
Im Folgenden wird im Wesentlichen beschrieben, wie das interne Stylesheet des Browsers Schriftarten definiert, indem minimale Stile und die inhärente Kaskadierung von CSS verwendet werden.
So macht es die Branche und hat es getan.
Die größten Web-Eigenschaften, Anwendungen und Publisher tun dies auf diese Weise. Google, Facebook, NYT, ESPN usw. definieren und verwenden Schriftarten auf diese Weise.
Darüber hinaus geben Benutzeroberflächen vor dem CSS oder sogar dem Internet einzelne Schriftfamilien an und wählen Varianten basierend auf unterschiedlichen Gewichts- und Stilspezifikationen aus. Laden Sie Microsoft Word, KeyNote, Google Text & Tabellen und sogar WordPerfect aus den späten 1990er Jahren und öffnen Sie das Dropdown-Menü für Schriftarten. Der Name der Schriftfamilie "Arial" wird aufgelistet. nicht "Arial" gefolgt von "Arial Bold" gefolgt von "Arial Italic" usw.
Laden Sie einfach von Google Fonts.
Wenn Sie Raleway aus dem kostenlosen Webfonts-Repository in Google Fonts laden, wird Raleway mit einem einzigen Familiennamen definiert:
https://fonts.googleapis.com/css?family=Raleway:400,400italic500,500italic700,700italic
quelle
Raleway
bei Gewichts- / Stilvarianten richtig zu bündeln oder einzelne Varianten falsch zu definierenRaleway Bold
undRaleway Italic
als einzelne Schriftfamilien) keinen Einfluss auf die Anwendung von Faux-Variationen oder nicht. In der Tat, die Familie unter dem gleichen Namen richtig zu bündeln hilft der Browser eine engere Variation wählen Sie einen faux Stil anzuwenden , während falsch jede Variation separat hält den Browser in der Dunkelheit der verfügbaren Schriftart Namensvariationen gelten , wenn die gewünschte Schriftart nicht geladen ist.font-family:Arial; font-weight:bold;
(was wiederum der richtige Weg ist, unabhängig davon, ob es sich um Arial oder Raleway handelt), dass der Browser eine künstliche Fettschrift auf eine normale Arial-Schriftart anwendet? Falsch. Der Browser lädt die ArialBold-Schriftart wie vom System definiert. Nur wenn keine genaue Schriftart verfügbar ist, wird ein Faux-Stil auf die am besten passende Schriftart basierend auf dem Namen der Schriftfamilie angewendet. Deshalb müssen sie identisch sein! Ich kann nicht sagen "Tu das für Arial, aber nicht für Raleway."Hier ist die Sache: Wenn Sie die Frage zu Raleway stellen, einem für CSS programmierten Webfont, funktionieren beide Methoden gleich gut. Verwenden Sie in diesem Fall die Schriftgröße, da dies die "richtige" Vorgehensweise ist, die ohne größere Änderungen am Code am einfachsten zu ändern und zu steuern ist.
Jetzt treten Probleme auf, wenn Sie eine Schriftart selbst einbetten. Diese Schriftart ist nicht unbedingt für CSS geplant und die Gewichte stimmen möglicherweise nicht mit den Zahlen überein.
Aus diesem Grund ist ein sehr häufiger Fehler bei eingebetteten Schriftarten, der bei nicht englischen Schriftarten sehr häufig auftritt, dass CSS die Schrift automatisch "boldens" oder "aufhellt" und das Ergebnis sehr schlecht ist.
Daher empfehle ich, dass Sie, wenn Sie eine Webfont wie die Schriftarten in Google-Schriftarten verwenden, die Zahlen für die Schriftgröße verwenden. Wenn Sie jedoch eine Schrift selbst einbetten, bleiben Sie auf der sicheren Seite und verwenden Sie die Schriftfamilie für jede einzelne Gewichtung separat .
quelle