Ich suche auf der MDC-Seite nach der @ font-face-CSS-Regel , aber eines verstehe ich nicht. Ich habe separate Dateien für Fett , Kursiv und Fett + Kursiv . Wie kann ich alle drei Dateien in eine @font-face
Regel einbetten ? Zum Beispiel, wenn ich habe:
@font-face {
font-family: "DejaVu Sans";
src: url("./fonts/DejaVuSans.ttf") format("ttf");
}
strong {
font-family: "DejaVu Sans";
font-weight: bold;
}
Der Browser weiß nicht, welche Schriftart für Fettdruck verwendet werden soll (da diese Datei DejaVuSansBold.ttf ist), daher wird standardmäßig etwas verwendet, das ich wahrscheinlich nicht möchte. Wie kann ich dem Browser alle verschiedenen Varianten mitteilen, die ich für eine bestimmte Schriftart habe?
Antworten:
Die Lösung scheint darin zu bestehen, mehrere
@font-face
Regeln hinzuzufügen , zum Beispiel:Übrigens scheint Google Chrome nichts über das
format("ttf")
Argument zu wissen. Vielleicht möchten Sie das überspringen.(Diese Antwort war für die CSS 2- Spezifikation korrekt . CSS3 erlaubt nur einen Schriftstil anstelle einer durch Kommas getrennten Liste.)
quelle
font-style: italic, oblique;
zufont-style: italic;
schien schien einfach alles zu reparieren.Ab CSS3 hat sich die Spezifikation geändert und nur eine einzige zugelassen
font-style
. Eine durch Kommas getrennte Liste (gemäß CSS2) wird wie behandelt behandeltnormal
und überschreibt alle früheren (Standard-) Einträge. Dadurch werden auf diese Weise definierte Schriftarten dauerhaft kursiv angezeigt.In den meisten Fällen ist Kursivschrift wahrscheinlich ausreichend und schräge Regeln sind nicht erforderlich, wenn Sie sorgfältig definieren, welche Sie verwenden, und sich daran halten.
quelle
I have separate files for bold, italic and bold + italic
- Es gibt also drei verschiedene Dateien. Diese Antwort korrigiert die akzeptierte,font-style: italic, oblique;
die nicht mehr gültig ist, aber auch diese Antwort verwendet dieselbe Datei für kursiv und schräg. Es sei jedoch darauf hingewiesen, dass die Datei in zwei Fällen gemeinsam genutzt wird.Damit die Schriftvariation korrekt funktioniert, musste ich die Reihenfolge von @ font-face in CSS umkehren.
quelle
heutzutage, 17.12.2017. Ich finde keine Beschreibung der Notwendigkeit von Font-Property-Order in der Spezifikation . Und ich teste in Chrom funktioniert immer in welcher Reihenfolge auch immer.
quelle
Wenn Sie Google-Schriftarten verwenden, würde ich Folgendes vorschlagen.
Wenn Sie möchten, dass die Schriftarten von Ihrem lokalen Host oder Server ausgeführt werden, müssen Sie die Dateien herunterladen.
Anstatt die ttf-Pakete in den Download-Links herunterzuladen, verwenden Sie den von ihnen bereitgestellten Live-Link, zum Beispiel:
Fügen Sie die URL in Ihren Browser ein und Sie sollten eine Schriftartenerklärung erhalten, die der ersten Antwort ähnelt.
Öffnen Sie die angegebenen URLs, laden Sie die Dateien herunter und benennen Sie sie um.
Kleben Sie die aktualisierten Schriftartendeklarationen mit relativen Pfaden zu den woff-Dateien in Ihrem CSS, und Sie sind fertig.
quelle
quelle
Vergessen Sie nicht, dass es für eine mutige Variante ist
font-weight
; für kursive Variante ist esfont-style
quelle
@font-face
deshalb versuche ich, diese Antwort abzulehnen (aber ich kann nicht, ich habe nicht genug Ruf)