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

View in English Always switch to English

CSS-Eigenschaft font

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-Kurzschreibweise von CSS legt die verschiedenen Schrifteigenschaften eines Elements fest. Alternativ weist sie einem Element eine Systemschrift zu.

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 fertilized 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;
}

Zusammengefasste Eigenschaften

Diese Eigenschaft ist eine Kurzschreibweise für die folgenden CSS-Eigenschaften:

Nur zurückgesetzte Untereigenschaften

Diese Eigenschaft setzt die folgenden CSS-Eigenschaften auf ihre Anfangswerte zurück:

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 für verschiedene schriftbezogene Eigenschaften oder ein einzelnes <system-font-family-name>-Schlüsselwort:

<'font-style'> Optional

Siehe die CSS-Eigenschaft font-style. Der Standardwert ist normal.

<font-variant-css2> Optional

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

<'font-weight'> Optional

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

<font-width-css3> Optional

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

<'font-size'>

Siehe die CSS-Eigenschaft font-size.

<'line-height'> Optional

Siehe die CSS-Eigenschaft line-height. Der 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 Systemschrift bezeichnet. Dazu gehören:

caption

Die Systemschrift für Steuerelemente mit Beschriftung (Schaltflächen, Dropdown-Listen usw.).

icon

Die Systemschrift für Symbolbeschriftungen.

Die Systemschrift für Menüs (z. B. Dropdown-Menüs und Menülisten).

message-box

Die Systemschrift für Dialogfelder.

small-caption

Die Systemschrift für die Beschriftung kleiner Steuerelemente.

status-bar

Die Systemschrift für Statusleisten von Fenstern.

Außerdem sind mehrere nicht standardisierte Werte mit Präfixen implementiert.

Beschreibung

Der Wert der Eigenschaft font ist entweder ein einzelnes Schlüsselwort, das eine Systemschrift bezeichnet, oder eine Kombination von Werten einzelner Eigenschaften, mit denen die verschiedenen Schrifteigenschaften eines Elements festgelegt werden.

Deklarationen von Systemschriften

Wenn font als <system-font-family-name>-Schlüsselwort angegeben wird, muss der gesamte Eigenschaftswert aus diesem einen Schlüsselwort bestehen. Dabei wird die Groß- und Kleinschreibung nicht berücksichtigt. Gültige Werte sind caption, icon, menu, message-box, small-caption und status-bar.

Browser unterstützen außerdem nicht standardisierte Werte mit Präfixen:

  • Chromium implementiert -webkit-control, -webkit-small-control und -webkit-mini-control.
  • Webkit unterstützt die Chromium-Werte und ergänzt -webkit-body, -webkit-pictograph und -webkit-ruby-text sowie mehrere Systemschriftnamen mit dem Präfix -apple-system-*.
  • Gecko implementiert -moz-window, -moz-document, -moz-desktop, -moz-info, -moz-dialog, -moz-button, -moz-pull-down-menu, -moz-list und -moz-field.

Eine Systemschrift, also ein <system-font-family-name>, kann nur mit der Eigenschaft font festgelegt werden. Ein einzelner Schlüsselwortwert wie font: icon setzt Schriftfamilie, Größe, Stärke, Stil usw. auf die Werte, die der Browser für die benannte Systemschrift definiert. Alle diese Werte können durch Deklarationen einzelner Eigenschaften geändert werden, die nach der font-Deklaration stehen.

Wenn innerhalb des Werts einer font-Eigenschaft nach dem <system-font-family-name>-Schlüsselwort weitere Komponenten der einzelnen font-Eigenschaften stehen, ist die Deklaration ungültig. Beispielsweise ist font: icon small ungültig.

Wenn ein <system-font-family-name>-Schlüsselwort an einer anderen Stelle als der ersten Komponente des Werts steht, wird es als <ident> behandelt, der einen gewöhnlichen font-family-Namen bezeichnet. Beispielsweise setzt die Deklaration font: small icon die font-family auf eine Schrift namens icon – keine Systemschrift, die möglicherweise existiert oder auch nicht. Diese Deklaration setzt außerdem font-size auf small und alle übrigen Komponenten der Kurzschreibweise auf ihre Anfangswerte zurück.

font-Deklarationen in Kurzschreibweise

Wenn font als Kurzschreibweise für mehrere schriftbezogene Eigenschaften angegeben wird, gilt Folgendes:

Wie bei jeder Kurzschreibweise werden alle nicht angegebenen Einzelkomponenten auf ihre Anfangswerte gesetzt. Dadurch können zuvor mit einzelnen Eigenschaften festgelegte Werte überschrieben werden. Darüber hinaus setzt die Kurzschreibweise die folgenden Eigenschaften auf ihre Anfangswerte zurück. Sie können mit der Kurzschreibweise nicht ausdrücklich festgelegt werden:

Reihenfolge der Werte in der Kurzschreibweise

Für die Reihenfolge einiger Werte innerhalb einer font-Deklaration in Kurzschreibweise gelten bestimmte Regeln:

  • Die Komponenten font-size und font-family sind beide erforderlich (außer bei Deklarationen von Systemschriften).
  • Die Komponenten font-style, font-variant und font-weight müssen vor dem Wert für font-size stehen.
  • Ein Wert für line-height kann nur angegeben werden, wenn auch font-size angegeben ist. Ist line-height vorhanden, muss der Wert unmittelbar auf font-size folgen. Die beiden Werte werden durch einen Schrägstrich (/) getrennt, zum Beispiel: 16px / 3.
  • font-family muss der letzte angegebene Wert sein.

Komponenten mit eingeschränkten Werten

Aus Gründen der Abwärtskompatibilität umfassen die gültigen Werte der Komponenten font-variant und font-width nicht alle Werte, die für die entsprechenden einzelnen Eigenschaften gültig sind.

Die gültigen Werte für die Komponente font-variant sind auf normal und small-caps beschränkt. Obwohl keine weiteren Werte unterstützt werden, setzt eine font-Deklaration in Kurzschreibweise alle einzelnen font-variant-*-Eigenschaften auf normal zurück, darunter 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 Komponente font-width sind auf folgende Schlüsselwörter beschränkt: normal, ultra-condensed, extra-condensed, condensed, semi-condensed, semi-expanded, expanded, extra-expanded, ultra-expanded. Die einzelne Eigenschaft font-width unterstützt auch <percentage>-Werte, diese sind jedoch innerhalb der Kurzschreibweise nicht gültig.

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 Verwendung

Dieses Beispiel definiert font für alle <p>-Elemente. Wir setzen font-size auf 12px und line-height auf 14px und trennen die Werte durch einen Schrägstrich (/). Die Deklaration setzt außerdem font-family auf sans-serif.

css
p {
  font: 12px / 14px sans-serif;
}

Mehrere Eigenschaften

In diesem Beispiel setzen wir font-weight auf bold, font-style auf italic, font-size auf large, line-height auf 1.6 und font-family auf serif.

css
p {
  font: bold italic large / 1.6 serif;
}

Systemschrift

Dieses Beispiel zeigt, wie Sie mit der Eigenschaft font eine Systemschrift festlegen.

HTML

Unser HTML enthält einen Absatz (<p>) mit einem Link (<a>), dessen Attribut href einen komplizierten Wert hat. Wenn Sie den Mauszeiger über den dargestellten Link bewegen oder ihn fokussieren, sollte die Statusleiste Ihres Browsers den Wert des Attributs href 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>

CSS

Wir geben dem Absatz dieselben Werte für font-family, line-height, font-size usw. wie der Statusleiste des Fensters. Anschließend setzen wir line-height auf 1.6.

css
p {
  font: status-bar;
  line-height: 1.6;
}

JavaScript

Da die URL in unserem HTML-Link kein gutes Praxisbeispiel ist, fügen wir ein Skript hinzu. Es verhindert, dass das Dokument beim Anklicken des Links zu einer nicht existierenden Seite weiterleitet.

js
const aElem = document.querySelector("a");
aElem.addEventListener("click", (e) => {
  e.preventDefault();
  return false;
});

Ergebnis

Bewegen Sie den Mauszeiger über den Link oder fokussieren Sie ihn. Schriftfamilie und -größe sollten mit dem Text in der Statusleiste am unteren Rand Ihres Browserfensters übereinstimmen.

Generator für Deklarationen in Kurzschreibweise

In dieser interaktiven Demonstration können Sie verschiedene Optionsfelder auswählen, um unterschiedliche Werte für die Kurzschreibweise zu erzeugen und die Auswirkungen der erstellten Deklarationen zu sehen.

Spezifikationen

Spezifikation
CSS Fonts Module Level 4
# font-prop

Browser-Kompatibilität

Siehe auch