font CSS-Eigenschaft
Baseline
Weitgehend verfügbar
Diese Funktion ist gut etabliert und funktioniert auf vielen Geräten und in vielen Browserversionen. Sie ist seit Juli 2015 browserübergreifend verfügbar.
Die font CSS Kurzschreibweise setzt alle verschiedenen Eigenschaften der Schriftart eines Elements. Alternativ stellt sie die Schriftart eines Elements auf eine Systemschriftart ein.
Probieren Sie es aus
font:
1.2rem "Fira Sans",
sans-serif;
font:
italic 1.2rem "Fira Sans",
serif;
font: italic small-caps bold 16px/2 cursive;
font: small-caps bold 24px/1 sans-serif;
font: caption;
<section id="default-example">
<q id="example-element">
Prejudices, it is well known, are most difficult to eradicate from the heart
whose soil has never been loosened or fertilised by education: they grow
there, firm as weeds among stones.
</q>
</section>
@font-face {
font-family: "Fira Sans";
src:
local("FiraSans-Regular"),
url("/shared-assets/fonts/FiraSans-Regular.woff2") format("woff2");
font-weight: normal;
font-style: normal;
}
@font-face {
font-family: "Fira Sans";
src:
local("FiraSans-Italic"),
url("/shared-assets/fonts/FiraSans-Italic.woff2") format("woff2");
font-weight: normal;
font-style: italic;
}
section {
margin-top: 10px;
font-size: 1.1em;
}
Zusammengesetzte Eigenschaften
Diese Eigenschaft ist eine Kurzform für die folgenden CSS-Eigenschaften:
Syntax
/* font-size font-family */
font: 1.2em sans-serif;
/* font-size/line-height font-family */
font: 1.2em/2 "Fira Sans", sans-serif;
/* font-style font-weight font-size font-family */
font: italic bold 1.2em monospace;
/* font-width font-variant font-size font-family */
font: ultra-condensed small-caps 1.2em Montserrat, Helvetica, sans-serif;
/* system font */
font: caption;
Werte
Der Wert ist entweder eine Kurzschreibweise, die die verschiedenen schriftartbezogenen Eigenschaften spezifiziert, oder ein einzelnes <system-font-family-name> Schlüsselwort:
<'font-style'>Optional-
Siehe die CSS-Eigenschaft
font-style. Standardwert istnormal. <font-variant-css2>Optional-
Entweder der Wert
normalodersmall-capsder Eigenschaftfont-variant. Standardwert istnormal. <'font-weight'>Optional-
Siehe die CSS-Eigenschaft
font-weight. Standardwert istnormal. <font-width-css3>Optional-
Die von der CSS-Eigenschaft
font-widthunterstützten Schlüsselwörter. Standardwert istnormal. <'font-size'>-
Siehe die CSS-Eigenschaft
font-size. <'line-height'>Optional-
Siehe die CSS-Eigenschaft
line-height. Standardwert istnormal. <'font-family'>-
Siehe die CSS-Eigenschaft
font-family. Muss der letzte Wert sein. <system-font-family-name>-
Ein einzelnes Schlüsselwort, das eine Systemschriftart repräsentiert, einschließlich:
caption-
Die Systemschriftart, die für beschriftete Steuerelemente (Buttons, Dropdowns etc.) verwendet wird.
icon-
Die Systemschriftart, die zur Beschriftung von Symbolen verwendet wird.
-
Die Systemschriftart, die in Menüs (z.B. Dropdown-Menüs oder Menüliste) verwendet wird.
message-box-
Die Systemschriftart, die in Dialogfeldern verwendet wird.
small-caption-
Die Systemschriftart, die zur Beschriftung kleiner Steuerelemente verwendet wird.
status-bar-
Die Systemschriftart, die in den Statusleisten von Fenstern verwendet wird.
Es gibt mehrere nicht standardmäßige Werte, die mit Präfixen implementiert sind.
Beschreibung
Der Wert der font-Eigenschaft ist entweder ein einzelnes Schlüsselwort, das einen system-font-family-name repräsentiert, oder mehrere ausgeschriebene Eigenschaftswerte, die verwendet werden, um alle unterschiedlichen Eigenschaften der Schriftart eines Elements zu setzen.
Systemschriftart-Deklarationen
Wenn font als ein <system-font-family-name> Schlüsselwort angegeben wird, muss der vollständige Eigenschaftswert auf dieses einzelne, nicht case-sensitive Schlüsselwort gesetzt werden. Gültige Werte sind caption, icon, menu, message-box, small-caption oder status-bar.
Browser unterstützen auch nicht standardmäßige, vorangestellte Werte:
- Chromium implementiert
-webkit-control,-webkit-small-controlund-webkit-mini-control. - Webkit umfasst die Chromium-Werte und fügt
-webkit-body,-webkit-pictographund-webkit-ruby-text, zusammen mit mehreren-apple-system-*vorangestellten Systemschriftart-Namen hinzu. - Gecko implementiert
-moz-window,-moz-document,-moz-desktop,-moz-info,-moz-dialog,-moz-button,-moz-pull-down-menu,-moz-listund-moz-field.
Die Systemschriftart oder <system-font-family-name> kann nur mit der font-Eigenschaft gesetzt werden. Durch das Definieren eines einzelnen Schlüsselwortwertes, wie font: icon, werden die Schriftfamilie, Größe, Gewicht, Stil usw. auf die Werte gesetzt, die der Browser für die benannte Systemschriftart definiert. Diese Werte können alle mit ausgeschriebenen Deklarationen, die nach der font-Deklaration platziert werden, geändert werden.
Das Einbeziehen von font-Komponenten nach dem <system-font-family-name> Schlüsselwort innerhalb eines font-Eigenschaftswertes macht die Deklaration ungültig. Zum Beispiel ist font: icon small ungültig.
Wenn ein <system-font-family-name> Schlüsselwort irgendwo im Wert erscheint, außer als erstes Element, wird das Schlüsselwort als ein <ident> behandelt, das einen Standard-font-family-Namen repräsentiert. Zum Beispiel setzt die Deklaration font: small icon die font-family auf eine Schriftart namens icon, eine Nicht-Systemschriftart, die möglicherweise existiert oder nicht. Diese Deklaration setzt auch die font-size auf small und setzt alle anderen Bestandteile der Kurzschreibweise auf ihre Anfangswerte zurück.
Kurzhand-Schriftdeklariationen
Wenn font als Kurzschrift für mehrere schriftartbezogene Eigenschaften angegeben ist, dann:
-
muss es Werte für folgende Eigenschaften beinhalten:
-
kann es optional Werte für folgende Eigenschaften beinhalten:
Wie bei jeder Kurzschreibweise, werden alle der nicht spezifizierten ausgeschriebenen Komponenteneigenschaften auf ihren Anfangswert gesetzt, möglicherweise überschreibend Werte, die zuvor mit Nicht-Kurzschreibweiseigenschaften gesetzt wurden. Außerdem setzt die Kurzschreibweise die folgenden Eigenschaften auf ihre Anfangswerte zurück. Die Kurzschreibweise kann sie nicht explizit setzen:
Reihenfolge der Kurzschreibweiseigenschaften
Die Reihenfolge einiger der ausgeschriebenen Werte innerhalb der font-Kurzschreibweisendeklaration muss einigen Regeln folgen:
- Sowohl die
font-size- als auch diefont-family-Komponenten sind erforderlich (außer für Systemschriftart-Deklarationen). - Die
font-style,font-variantundfont-weightKomponenten müssen demfont-sizeWert vorangehen. - Ein
line-heightkann nur enthalten sein, wennfont-sizeenthalten ist. Falls vorhanden, mussline-heightunmittelbar auffont-sizefolgen, wobei die beiden Werte durch einen Schrägstrich (/) getrennt sind, z.B.:16px / 3. - Die
font-familymuss der letzte spezifizierte Wert sein.
Komponenten mit eingeschränkten Werten
Für die Rückwärtskompatibilität umfassen die gültigen Werte der font-variant und font-width Komponenten nicht alle gültigen Werte oder die ausgeschriebenen Entsprechungen.
Die gültigen Werte für die font-variant Komponente sind auf normal oder small-caps beschränkt. Obwohl keine anderen Werte unterstützt werden, setzt die font-Kurzschreibung alle ausgeschriebenen font-variant-* Eigenschaften auf normal zurück, einschließlich font-variation-settings, font-variant-position, font-variant-emoji, font-variant-caps, font-variant-ligatures, font-variant-numeric, font-variant-east-asian, und font-variant-alternates.
Die gültigen Werte für die font-width Komponente sind auf Schlüsselwortwerte beschränkt: normal, ultra-condensed, extra-condensed, condensed, semi-condensed, semi-expanded, expanded, extra-expanded, ultra-expanded. Die ausgeschriebene Eigenschaft font-width unterstützt auch <percentage>-Werte, aber diese sind in der Kurzschreibweise nicht zulässig.
Formale Definition
| Anfangswert | wie die jeweiligen Kurzschreibweisen:
|
|---|---|
| Anwendbar auf | all elements and text. Auch anwendbar auf ::first-letter und ::first-line. |
| Vererbt | Ja |
| Prozentwerte | wie die jeweiligen Kurzschreibweisen:
|
| Berechneter Wert | wie die jeweiligen Kurzschreibweisen:
|
| Animationstyp | wie die jeweiligen Kurzschreibweisen:
|
Formale Syntax
font =
[ [ <'font-style'> || <font-variant-css2> || <'font-weight'> || <font-width-css3> ]? <'font-size'> [ / <'line-height'> ]? <'font-family'># ] |
<system-font-family-name>
<font-style> =
normal |
italic |
left |
right |
oblique <angle [-90deg,90deg]>?
<font-variant-css2> =
normal |
small-caps
<font-weight> =
<font-weight-absolute> |
bolder |
lighter
<font-width-css3> =
normal |
ultra-condensed |
extra-condensed |
condensed |
semi-condensed |
semi-expanded |
expanded |
extra-expanded |
ultra-expanded
<font-size> =
<absolute-size> |
<relative-size> |
<length-percentage [0,∞]> |
math
<line-height> =
normal |
<number [0,∞]> |
<length-percentage [0,∞]>
<font-family> =
[ <font-family-name> | <generic-font-family> ]#
<system-font-family-name> =
caption |
icon |
menu |
message-box |
small-caption |
status-bar
<font-weight-absolute> =
normal |
bold |
<number [1,1000]>
<absolute-size> =
xx-small |
x-small |
small |
medium |
large |
x-large |
xx-large |
xxx-large
<relative-size> =
larger |
smaller
<length-percentage> =
<length> |
<percentage>
<font-family-name> =
<string> |
<custom-ident>+
<generic-font-family> =
<generic-font-script-specific> |
<generic-font-complete> |
<generic-font-incomplete>
<generic-font-script-specific> =
generic( fangsong ) |
generic( kai ) |
generic( khmer-mul ) |
generic( nastaliq )
<generic-font-complete> =
serif |
sans-serif |
system-ui |
cursive |
fantasy |
math |
monospace
<generic-font-incomplete> =
ui-serif |
ui-sans-serif |
ui-monospace |
ui-rounded
Beispiele
>Grundlegende Nutzung
Dieses Beispiel definiert die font für alle <p>-Elemente. Wir setzen die font-size auf 12px und die line-height auf 14px, wobei wir diese mit einem Schrägstrich (/) trennen. Die Deklaration setzt auch die font-family auf sans-serif.
p {
font: 12px / 14px sans-serif;
}
Mehrere Eigenschaften
In diesem Beispiel setzen wir das font-weight auf bold, den font-style auf italic, die font-size auf large, die line-height auf 1.6 und die font-family auf serif.
p {
font: bold italic large / 1.6 serif;
}
Systemschriftart
Dieses Beispiel demonstriert die Verwendung der font-Eigenschaft, um eine Systemschriftart festzulegen.
CSS
Wir setzen die Schriftart des Absatzes so, dass sie dieselbe font-family, line-height, font-size usw. hat wie die Statusleiste des Fensters, dann setzen wir die line-height auf 1.6.
p {
font: status-bar;
line-height: 1.6;
}
HTML
Unser HTML beinhaltet einen Absatz (<p>) mit einem Link (<a>), der einen komplizierten href-Attributwert enthält. Wenn Sie den gerenderten Link überfahren oder fokussieren, sollte die Statusleiste Ihres Browsers den Wert des href-Attributs anzeigen.
<p>
<a
href="/%20The%20font%20should%20be%20the%20same%20
family%20and%20size%20and%20the%20text%20in%20the%20example."
>Hover or focus this text. The font should be the same family and size and
the text in your status bar.</a
>
</p>
JavaScript
Da die URL in unserem HTML-Link keine gute Praxis ist, fügen wir ein Skript hinzu, das das Dokument daran hindert, beim Klicken auf den Link zu einer nicht existierenden Seite weiterzuleiten.
const aElem = document.querySelector("a");
aElem.addEventListener("click", function (e) {
e.preventDefault();
return false;
});
Ergebnis
Überfahren oder fokussieren Sie den Link. Die Schriftart sollte dieselbe Familie und Größe haben wie der Text in Ihrer Statusleiste unten im Browserfenster.
Kurzschreibweisedeklarations-Ersteller
In dieser Live-Vorführung können Sie verschiedene Optionsfelder auswählen, um unterschiedliche Kurzschreibwerte zu erzeugen und gleichzeitig die Auswirkungen der von Ihnen erstellten Kurzschreibungsdeklarationen zu visualisieren.
Spezifikationen
| Spezifikation |
|---|
| CSS Fonts Module Level 4> # font-prop> |
Browser-Kompatibilität
Siehe auch
font-stylefont-weight- Systemschriftenstapel auf CSS-Tricks (2017)