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 CSS-Kurzschreibweise font legt alle verschiedenen Eigenschaften der Schrift eines Elements fest. Alternativ legt sie die Schrift eines Elements auf eine Systemschrift fest.

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

Bestandteileigenschaften

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

Nur-zurücksetzbare 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, die die verschiedenen schriftbezogenen Eigenschaften angibt, oder ein einzelnes Schlüsselwort <system-font-family-name>:

<'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 repräsentiert, darunter:

caption

Die Systemschrift, die für beschriftete Steuerelemente verwendet wird (Schaltflächen, Dropdown-Menüs usw.).

icon

Die Systemschrift, die zur Beschriftung von Symbolen verwendet wird.

Die Systemschrift, die in Menüs verwendet wird (z. B. Dropdown-Menüs und Menülisten).

message-box

Die Systemschrift, die in Dialogfeldern verwendet wird.

small-caption

Die Systemschrift, die zur Beschriftung kleiner Steuerelemente verwendet wird.

status-bar

Die Systemschrift, die in Fensterstatusleisten verwendet wird.

Es gibt mehrere nicht standardisierte Werte, die mit Präfixen implementiert sind.

Beschreibung

Der Eigenschaftswert von font ist entweder ein einzelnes Schlüsselwort, das einen Systemschriftfamiliennamen repräsentiert, oder mehrere Langform-Eigenschaftswerte, die verwendet werden, um alle verschiedenen Eigenschaften der Schrift eines Elements festzulegen.

Systemschrift-Deklarationen

Wenn font als Schlüsselwort <system-font-family-name> angegeben wird, muss der vollständige Eigenschaftswert auf dieses einzelne Schlüsselwort ohne Berücksichtigung der Groß- und Kleinschreibung gesetzt werden. Gültige Werte sind caption, icon, menu, message-box, small-caption oder status-bar.

Browser unterstützen auch nicht standardisierte Werte mit Präfixen:

  • 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 sowie mehrere mit -apple-system-* präfixierte Systemschrift-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 Systemschrift beziehungsweise <system-font-family-name> kann nur mit der Eigenschaft font festgelegt werden. Die Definition eines einzelnen Schlüsselwortwerts wie font: icon legt Schriftfamilie, Schriftgröße, Schriftschnitt, Schriftstil usw. auf die Werte fest, die der Browser für die benannte Systemschrift definiert. Diese Werte können alle mit Langform-Deklarationen geändert werden, die nach der font-Deklaration stehen.

Das Einschließen beliebiger font-Langformkomponenten nach dem Schlüsselwort <system-font-family-name> innerhalb eines Eigenschaftswerts von font macht die Deklaration ungültig. Beispielsweise ist font: icon small ungültig.

Wenn ein Schlüsselwort <system-font-family-name> an einer anderen Stelle im Wert als der ersten Komponente erscheint, wird das Schlüsselwort als <ident> behandelt, das einen standardmäßigen font-family-Namen darstellt. Beispielsweise setzt die Deklaration font: small icon die font-family auf eine Schrift namens icon, eine Nicht-Systemschrift, die möglicherweise existiert oder nicht. Diese Deklaration setzt außerdem font-size auf small und setzt alle anderen Komponenteneigenschaften der Kurzschreibweise auf ihre Anfangswerte zurück.

Kurzschrift-Deklarationen für Schriftarten

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

Wie bei jeder Kurzschreibweise werden alle nicht angegebenen Langform-Komponenteneigenschaften auf ihre Anfangswerte gesetzt, wodurch möglicherweise zuvor mit Nicht-Kurzschreibweise-Eigenschaften festgelegte Werte überschrieben werden. Zusätzlich setzt die Kurzschreibweise die folgenden Eigenschaften auf ihre Anfangswerte zurück. Die Kurzschreibweise kann sie nicht explizit festlegen:

Reihenfolge der Kurzschreibweise-Eigenschaften

Die Reihenfolge einiger Langformwerte innerhalb der Kurzschreibweise-Deklaration font muss einigen Regeln folgen:

  • Sowohl die Komponenten font-size als auch font-family sind erforderlich (außer bei Systemschrift-Deklarationen).
  • Die Komponenten font-style, font-variant und font-weight müssen dem Wert font-size vorangehen.
  • Ein line-height kann nur einbezogen werden, wenn font-size einbezogen wird. Falls vorhanden, muss line-height unmittelbar auf font-size folgen, wobei die beiden Werte durch einen Schrägstrich (/) getrennt sind, zum Beispiel: 16px / 3.
  • font-family muss der zuletzt angegebene Wert sein.

Komponenten mit eingeschränkten Werten

Aus Gründen der Abwärtskompatibilität enthalten die gültigen Werte der Komponenten font-variant und font-width nicht alle gültigen Werte oder Langform-Entsprechungen.

Die gültigen Werte für die Komponente font-variant sind auf normal oder small-caps beschränkt. Obwohl keine anderen Werte unterstützt werden, setzt die Kurzschreibweise-Deklaration font alle Langform-Eigenschaften font-variant-* 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 Komponente font-width sind auf Schlüsselwortwerte beschränkt: normal, ultra-condensed, extra-condensed, condensed, semi-condensed, semi-expanded, expanded, extra-expanded, ultra-expanded. Die Langform-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 sie 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 demonstriert die Verwendung der Eigenschaft font, um eine Systemschrift festzulegen.

CSS

Wir setzen die Schrift des Absatzes auf dieselbe font-family, line-height, font-size usw. wie die Statusleiste des Fensters und setzen dann line-height auf 1.6.

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

HTML

Unser HTML enthält einen Absatz (<p>) mit einem Link (<a>) mit einem verschachtelten Wert für das Attribut href. Wenn Sie den gerenderten Link mit der Maus überfahren oder 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>

JavaScript

Da die URL in unserem HTML-Link keine gute Praxis ist, fügen wir ein Skript ein, das verhindert, dass das Dokument auf eine nicht vorhandene Seite weitergeleitet wird, wenn auf den Link geklickt wird.

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

Ergebnis

Fahren Sie mit der Maus über den Link oder fokussieren Sie ihn. Die Schrift sollte dieselbe Familie und Größe haben wie der Text in Ihrer Statusleiste am unteren Rand Ihres Browserfensters.

Generator für Kurzschreibweise-Deklarationen

In dieser Live-Demonstration können Sie verschiedene Optionsfelder auswählen, um unterschiedliche Kurzschreibweise-Werte zu generieren, während Sie die Auswirkungen der von Ihnen erstellten Kurzschreibweise-Deklarationen visualisieren.

Spezifikationen

Spezifikation
CSS Fonts Module Level 4
# font-prop

Browser-Kompatibilität

Siehe auch