Dieser Inhalt wurde automatisch aus dem Englischen übersetzt, und kann Fehler enthalten. Erfahre mehr über dieses Experiment.

View in English Always switch to English

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

css
/* 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 ist normal.

<font-variant-css2> Optional

Entweder der Wert normal oder small-caps der Eigenschaft font-variant. Standardwert ist normal.

<'font-weight'> Optional

Siehe die CSS-Eigenschaft font-weight. Standardwert ist normal.

<font-width-css3> Optional

Die von der CSS-Eigenschaft font-width unterstützten Schlüsselwörter. Standardwert ist normal.

<'font-size'>

Siehe die CSS-Eigenschaft font-size.

<'line-height'> Optional

Siehe die CSS-Eigenschaft line-height. Standardwert ist normal.

<'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-control und -webkit-mini-control.
  • Webkit umfasst die Chromium-Werte und fügt -webkit-body, -webkit-pictograph und -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-list und -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:

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 die font-family-Komponenten sind erforderlich (außer für Systemschriftart-Deklarationen).
  • Die font-style, font-variant und font-weight Komponenten müssen dem font-size Wert vorangehen.
  • Ein line-height kann nur enthalten sein, wenn font-size enthalten ist. Falls vorhanden, muss line-height unmittelbar auf font-size folgen, wobei die beiden Werte durch einen Schrägstrich (/) getrennt sind, z.B.: 16px / 3.
  • Die font-family muss 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

Anfangswertwie die jeweiligen Kurzschreibweisen:
Anwendbar aufall elements and text. Auch anwendbar auf ::first-letter und ::first-line.
VererbtJa
Prozentwertewie die jeweiligen Kurzschreibweisen:
  • font-size: bezieht sich auf die Schriftgröße des Elternelements
  • line-height: bezieht sich auf die Schriftgröße des Elternelements
Berechneter Wertwie die jeweiligen Kurzschreibweisen:
Animationstypwie 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.

css
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.

css
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.

css
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.

html
<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.

js
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