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 einer Schriftart eines Elements fest. Alternativ setzt sie die Schriftart eines Elements auf eine Systemschriftart.

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

Zusammenhängende Eigenschaften

Diese Eigenschaft ist eine Kurzschreibweise 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 schriftbezogenen Eigenschaften spezifiziert, oder ein einzelnes <system-font-family-name> Schlüsselwort:

<'font-style'> Optional

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

<font-variant-css2> Optional

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

<'font-weight'> Optional

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

<font-width-css3> Optional

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

<'font-size'>

Siehe die font-size CSS-Eigenschaft.

<'line-height'> Optional

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

<'font-family'>

Siehe die font-family CSS-Eigenschaft. Muss der letzte Wert sein.

<system-font-family-name>

Ein einzelnes Schlüsselwort, das eine Systemschriftart darstellt, 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 und 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 Fensterstatusleisten verwendet wird.

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

Beschreibung

Der font-Eigenschaftswert ist entweder ein einzelnes Schlüsselwort, das einen system-font-family-name darstellt, oder mehrere Longhand-Eigenschaftenwerte, die verwendet werden, um alle verschiedenen Eigenschaften der Schriftart eines Elements festzulegen.

Systemschrift-Erklärungen

Wird font als ein <system-font-family-name> Schlüsselwort spezifiziert, muss der volle Eigenschaftswert auf dieses einzelne, nicht auf Groß- und Kleinschreibung achtende Schlüsselwort festgelegt werden. Gültige Werte schließen caption, icon, menu, message-box, small-caption oder status-bar ein.

Browser unterstützen auch nicht-standardisierte Präfix-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 sowie mehrere -apple-system-* Präfix-Systemschriftartnamen 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 oder <system-font-family-name> kann nur mit der font-Eigenschaft gesetzt werden. Das Definieren eines einzigen Schlüsselwortwerts, wie font: icon, setzt die Schriftfamilie, Größe, Gewicht, Stil usw. auf die Werte, die der Browser für die benannte Systemschriftart definiert. Diese Werte können alle mit Langform-Deklarationen geändert werden, die nach der font-Deklaration platziert werden.

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

Erscheint ein <system-font-family-name> Schlüsselwort irgendwo im Wert, außer als erste Komponente, 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 Kurzschreib-Komponenteneigenschaften auf ihre Anfangswerte zurück.

Kurzschrift Schrift-Erklärungen

Wird font als eine Kurzschreibweise für mehrere schriftbezogene Eigenschaften spezifiziert, dann:

Wie bei jeder Kurzschreibweise werden alle der nicht spezifizierten Langform-Komponenteneigenschaften auf ihre Anfangswerte gesetzt, wodurch möglicherweise zuvor mit Nicht-Kurzschreib-Werten gesetzte Werte überschrieben werden. Zudem setzt die Kurzschreibweise die folgenden Eigenschaften auf ihre Anfangswerte zurück. Die Kurzschreibweise kann sie nicht explizit setzen:

Reihenfolge der Kurzschreib-Eigenschaft

Die Reihenfolge einiger Langform-Werte innerhalb der Kurzschreib-font-Deklaration muss ein paar Regeln folgen:

  • Sowohl die font-size als auch die font-family Komponenten sind erforderlich (außer bei Systemschrift-Erklärungen).
  • Die font-style, font-variant und font-weight Komponenten müssen dem font-size Wert vorausgehen.
  • Eine line-height kann nur enthalten sein, wenn font-size enthalten ist. Ist vorhanden, muss die line-height unmittelbar nach der font-size folgen, wobei die beiden Werte durch einen Schrägstrich (/) getrennt sind, zum Beispiel: 16px / 3.
  • Die font-family muss der zuletzt angegebene Wert sein.

Komponenten mit begrenzten Werten

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

Die gültigen Werte für die font-variant Komponente sind auf normal oder small-caps begrenzt. Obwohl keine anderen Werte unterstützt werden, setzt die Kurzschreib-font-Erklärung alle font-variant-* Langform-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 font-width Langform-Eigenschaft unterstützt auch <percentage> Werte, aber sie sind 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 die font für alle <p> Elemente. Wir setzen die font-size auf 12px und die line-height auf 14px, getrennt durch einen Schrägstrich (/). 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;
}

Systemschrift

Dieses Beispiel zeigt die Verwendung der font-Eigenschaft zum Setzen einer Systemschrift.

CSS

Wir setzen die Schrift des Absatzes so, dass dieselbe font-family, line-height, font-size etc. wie die Statusleiste des Fensters verwendet wird, und setzen dann die line-height auf 1.6.

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

HTML

Unser HTML enthält einen Absatz (<p>), der einen Link (<a>) mit einem komplizierten href Attributwert enthält. Wenn Sie den gerenderten Link schweben 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 verhindert, dass das Dokument zu einer nicht vorhandenen Seite weitergeleitet wird, wenn der Link angeklickt wird.

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

Ergebnis

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

Kurzschrift-Deklarationserzeuger

In dieser Live-Demonstration können Sie verschiedene Optionsfelder auswählen, um unterschiedliche Kurzschreibwerte zu erzeugen, während Sie die Auswirkungen der von Ihnen erstellten Kurzschreib-Erklärungen visualisieren.

Spezifikationen

Spezifikation
CSS Fonts Module Level 4
# font-prop

Browser-Kompatibilität

Siehe auch