1. Web
  2. CSS
  3. font

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

Baseline Widely available *

This feature is well established and works across many devices and browser versions. It’s been available across browsers since ⁨Juli 2015⁩.

* Some parts of this feature may have varying levels of support.

Die font CSS Kurzschreibweise setzt alle verschiedenen Eigenschaften der Schrift eines Elements. Alternativ kann sie die Schrift eines Elements auf eine Systemschrift setzen.

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">
 <p id="example-element">
 London. Michaelmas term lately over, and the Lord Chancellor sitting in
 Lincoln's Inn Hall. Implacable November weather. As much mud in the streets
 as if the waters had but newly retired from the face of the earth, and it
 would not be wonderful to meet a Megalosaurus, forty feet long or so,
 waddling like an elephantine lizard up Holborn Hill.
 </p>
</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;
}

Wie bei jeder Kurzschreibweise wird jeder einzelne Wert, der nicht angegeben ist, auf seinen entsprechenden Anfangswert gesetzt (was möglicherweise zuvor gesetzte Werte mit nicht-Kurzschreibweisen überschreibt). Obwohl nicht direkt über font festlegbar, werden die Langformen font-size-adjust und font-kerning ebenfalls auf ihre Anfangswerte zurückgesetzt.

Zusammengesetzte Eigenschaften

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

Syntax

css
/* font-size font-family */
font: 1.2em "Fira Sans", 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 "Fira Sans", sans-serif;
/* font-stretch font-variant font-size font-family */
font: ultra-condensed small-caps 1.2em "Fira Sans", sans-serif;
/* system font */
font: caption;

Die font-Eigenschaft kann entweder als einzelnes Schlüsselwort angegeben werden, das eine Systemschrift auswählt, oder als Kurzform für verschiedene schriftbezogene Eigenschaften.

Wenn font als System-Schlüsselwort angegeben wird, muss es eines der folgenden sein: caption, icon, menu, message-box, small-caption, status-bar.

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

  • muss sie Werte für:

  • kann sie optional Werte für:

  • font-style, font-variant und font-weight müssen font-size vorausgehen.

  • font-variant kann nur die Werte definieren, die in CSS 2.1 enthalten sind, nämlich normal und small-caps.

  • font-stretch kann nur einen einzelnen Schlüsselwortwert haben.

  • line-height muss unmittelbar font-size folgen, getrennt durch "/", so: 16px/3.

  • font-family muss der letzte angegebene Wert sein.

Werte

<'font-style'>

Siehe die font-style CSS-Eigenschaft.

<'font-variant'>

Siehe die font-variant CSS-Eigenschaft.

<'font-weight'>

Siehe die font-weight CSS-Eigenschaft.

<'font-stretch'>

Siehe die font-stretch CSS-Eigenschaft.

<'font-size'>

Siehe die font-size CSS-Eigenschaft.

<'line-height'>

Siehe die line-height CSS-Eigenschaft.

<'font-family'>

Siehe die font-family CSS-Eigenschaft.

Systemschrift-Werte

caption

Die Systemschrift, die für beschriftete Steuerungen verwendet wird (z.B. Buttons, 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üliste).

message-box

Die Systemschrift, die in Dialogfeldern verwendet wird.

small-caption

Die Systemschrift, die zur Beschriftung kleiner Steuerungen verwendet wird.

status-bar

Die Systemschrift, die in Statusleisten von Fenstern verwendet wird.

Vorangestellte Systemschrift-Schlüsselwörter

Browser setzen häufig mehrere weitere, vorangestellte Schlüsselwörter um: Gecko implementiert -moz-window, -moz-document, -moz-desktop, -moz-info, -moz-dialog, -moz-button, -moz-pull-down-menu, -moz-list und -moz-field.

Formale Definition

Anfangswert wie die jeweiligen Kurzschreibweisen:
Anwendbar aufall elements and text. Auch anwendbar auf ::first-letter und ::first-line.
Vererbt Ja
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 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-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> =
[ <family-name> | <generic-family> ] #

<system-family-name> =
caption |
icon |
menu |
message-box |
small-caption |
status-bar

<font-weight-absolute> =
normal |
bold |
<number [1,1000]>

<length-percentage> =
<length> |
<percentage>

<family-name> =
<string> |
<custom-ident> +

<generic-family> =
<generic-script-specific> |
<generic-complete> |
<generic-incomplete>

<generic-script-specific> =
generic( fangsong ) |
generic( kai ) |
generic( khmer-mul ) |
generic( nastaliq )

<generic-complete> =
serif |
sans-serif |
system-ui |
cursive |
fantasy |
math |
monospace

<generic-incomplete> =
ui-serif |
ui-sans-serif |
ui-monospace |
ui-rounded

Beispiele

Schriftart-Eigenschaften festlegen

css
/* Set the font size to 12px and the line height to 14px.
 Set the font family to sans-serif */
p {
 font: 12px/14px sans-serif;
}
/* Set the font size to 80% of the parent element
 or default value (if no parent element present).
 Set the font family to sans-serif */
p {
 font: 80% sans-serif;
}
/* Set the font weight to bold,
 the font-style to italic,
 the font size to large,
 and the font family to serif. */
p {
 font: bold italic large serif;
}
/* Use the same font as the status bar of the window */
p {
 font: status-bar;
}

Live-Beispiel

<p>
 Change the radio buttons below to see the generated shorthand and its effect.
</p>
<form action="createShortHand()">
 <div class="cf">
 <div class="setPropCont">
 font-style<br />
 <input
 type="radio"
 id="font-style-none"
 name="font_style"
 checked=""
 value="" />
 <label for="font-style-none">none</label><br />
 <input
 type="radio"
 id="font-style-normal"
 name="font_style"
 value="normal" />
 <label for="font-style-normal">normal</label><br />
 <input
 type="radio"
 id="font-style-italic"
 name="font_style"
 value="italic" />
 <label for="font-style-italic">italic</label><br />
 <input
 type="radio"
 id="font-style-oblique"
 name="font_style"
 value="oblique" />
 <label for="font-style-oblique">oblique</label>
 </div>
 <div class="setPropCont">
 font-variant<br />
 <input
 type="radio"
 id="font-variant-none"
 name="font_variant"
 checked=""
 value=" " />
 <label for="font-variant-none">none</label><br />
 <input
 type="radio"
 id="font-variant-normal"
 name="font_variant"
 value="normal" />
 <label for="font-variant-normal">normal</label><br />
 <input
 type="radio"
 id="font-variant-small-caps"
 name="font_variant"
 value="small-caps" />
 <label for="font-variant-small-caps">small-caps</label>
 </div>
 <div class="setPropCont">
 font-weight<br />
 <input type="radio" id="font-weight-none" name="font_weight" value="" />
 <label for="font-weight-none">none</label><br />
 <input
 type="radio"
 id="font-weight-normal"
 checked=""
 name="font_weight"
 value="400" />
 <label for="font-weight-normal">normal</label><br />
 <input
 type="radio"
 id="font-weight-bold"
 name="font_weight"
 value="700" />
 <label for="font-weight-bold">bold</label>
 </div>
 <div class="setPropCont">
 font-size<br />
 <input type="radio" id="font-size-12px" name="font_size" value="12px" />
 <label for="font-size-12px">12px</label><br />
 <input
 type="radio"
 id="font-size-16px"
 name="font_size"
 value="16px"
 checked="" />
 <label for="font-size-16px">16px</label><br />
 <input type="radio" id="font-size-24px" name="font_size" value="24px" />
 <label for="font-size-24px">24px</label>
 </div>
 <div class="setPropCont">
 line-height<br />
 <input
 type="radio"
 id="line-height-none"
 name="line_height"
 checked=""
 value="" />
 <label for="line-height-none">none</label><br />
 <input
 type="radio"
 id="line-height-1.2"
 name="line_height"
 value="/1.2" />
 <label for="line-height-1.2">1.2</label><br />
 <input type="radio" id="line-height-3" name="line_height" value="/3" />
 <label for="line-height-3">3</label>
 </div>
 <br />
 <div class="setPropCont fontfamily">
 font-family<br />
 <input
 type="radio"
 id="font-family-courier"
 name="font_family"
 checked=""
 value="courier" />
 <label for="font-family-courier">courier</label><br />
 <input
 type="radio"
 id="font-family-serif"
 name="font_family"
 value="serif" />
 <label for="font-family-serif">serif</label><br />
 <input
 type="radio"
 id="font-family-sans-serif"
 name="font_family"
 value="sans-serif" />
 <label for="font-family-sans-serif">sans-serif</label><br />
 <input
 type="radio"
 id="font-family-arial"
 name="font_family"
 value="arial" />
 <label for="font-family-arial">Arial</label><br />
 <input
 type="radio"
 id="font-family-monospace"
 name="font_family"
 value="monospace" />
 <label for="font-family-monospace">monospace</label><br />
 <input
 type="radio"
 id="font-family-cursive"
 name="font_family"
 value="cursive" />
 <label for="font-family-cursive">cursive</label><br />
 <input
 type="radio"
 id="font-family-fantasy"
 name="font_family"
 value="fantasy" />
 <label for="font-family-fantasy">fantasy</label><br />
 <input
 type="radio"
 id="font-family-system-ui"
 name="font_family"
 value="system-ui" />
 <label for="font-family-system-ui">system-ui</label><br />
 </div>
 </div>
 <div class="cf propInputs">
 <div class="propInputCont tar">font :</div>
 <div class="propInputCont">
 <input type="text" class="curCss" id="input_font_style" /><br />
 font-style <br />
 optional
 </div>
 <div class="propInputCont">
 <input type="text" class="curCss" id="input_font_variant" /> <br />
 font-variant <br />
 optional
 </div>
 <div class="propInputCont">
 <input type="text" class="curCss" id="input_font_weight" /> <br />
 font-weight <br />
 optional
 </div>
 <div class="propInputCont">
 <input type="text" class="curCss mandatory" id="input_font_size" /> <br />
 font-size <br />
 mandatory
 </div>
 <div class="propInputCont">
 <input type="text" class="curCss" id="input_line_height" /> <br />
 line-height <br />
 optional
 </div>
 <div class="propInputCont">
 <input type="text" class="curCss mandatory" id="input_font_family" />
 <br />
 font-family <br />
 mandatory
 </div>
 </div>
</form>
<div class="fontShortHand">This is some sample text.</div>
<br /><br /><br /><br /><br /><br />
body,
input {
 font: 14px "Arial";
 overflow: hidden;
}
.propInputCont {
 float: left;
 text-align: center;
 margin-right: 5px;
 width: 80px;
}
.setPropCont {
 float: left;
 margin-right: 5px;
 width: 120px;
}
.propInputs,
.setPropCont {
 margin-bottom: 1em;
}
.curCss {
 border: none;
 border-bottom: 1px solid black;
 text-align: center;
 width: 80px;
}
.mandatory {
 border-bottom-color: red;
}
.cf::before,
.cf::after {
 content: " ";
 display: table;
}
.cf::after {
 clear: both;
}
.tar {
 width: 40px;
 text-align: right;
}
.fontfamily {
 display: inline-block;
}
const textAreas = document.getElementsByClassName("curCss");
function getProperties() {
 return (
 `${getCheckedValue("font_style")} ` +
 `${getCheckedValue("font_variant")} ` +
 `${getCheckedValue("font_weight")} ` +
 `${getCheckedValue("font_size")}` +
 `${getCheckedValue("line_height")} ` +
 `${getCheckedValue("font_family")}`
 );
}
function getCheckedValue(radioName) {
 const radios = document.forms[0].elements[radioName];
 for (const radio of radios) {
 if (radio.checked) {
 const curElemName = `input_${radioName}`;
 const curElem = document.getElementById(curElemName);
 curElem.value = radio.value;
 return radio.value;
 }
 }
}
function setCss() {
 injectCss(getProperties());
}
function injectCss(cssFragment) {
 const old = document.body.getElementsByTagName("style");
 if (old.length > 1) {
 old[1].parentElement.removeChild(old[1]);
 }
 css = document.createElement("style");
 css.textContent = `.fontShortHand{font: ${cssFragment}}`;
 document.body.appendChild(css);
}
setCss();
document.querySelectorAll("input[type='radio']").forEach((el) => {
 el.addEventListener("change", setCss);
});

Spezifikationen

Specification
CSS Fonts Module Level 4
# font-prop

Browser-Kompatibilität

Siehe auch

Help improve MDN

Learn how to contribute Diese Seite wurde automatisch aus dem Englischen übersetzt.

AltStyle によって変換されたページ (->オリジナル) /