CSS-Werte und -Einheiten
Jede CSS-Deklaration umfasst ein Eigenschaft-Werte-Paar. Abhängig von der Eigenschaft kann der Wert aus einer einzelnen Ganzzahl oder einem Schlüsselwort bis hin zu einer Reihe von Schlüsselworten und Werten bestehen, mit oder ohne Einheiten. Es gibt eine gemeinsame Reihe von Datentypen – Werten und Einheiten –, die CSS-Eigenschaften akzeptieren. Unten finden Sie einen Überblick über die meisten dieser Datentypen. Konsultieren Sie die Seite für jeden Werttyp für detaillierte Informationen.
Textuelle Datentypen
<custom-ident>
- Vordefinierte Schlüsselwörter als
<ident>
<string>
<url>
Textdatentypen sind entweder <string>
, eine in Anführungszeichen stehende Zeichenserie, oder ein <ident>
, ein "CSS Identifier", der eine nicht in Anführungszeichen stehende Zeichenfolge ist. Eine <string>
muss entweder mit einfachen oder doppelten Anführungszeichen eingeschlossen werden. CSS-Identifikatoren, im Regelwerk als <ident>
oder <custom-ident>
aufgelistet, dürfen nicht in Anführungszeichen stehen.
Im CSS-Regelwerk werden Werte, die vom Webentwickler definiert werden können, wie Keyframe-Animationen, Schriftfamiliennamen oder Rasterbereiche als <custom-ident>
, <string>
, oder beides aufgelistet.
Wenn sowohl zitierte als auch nicht zitierte benutzerdefinierte Textwerte erlaubt sind, wird die Spezifikation <custom-ident> | <string>
auflisten, was bedeutet, dass Anführungszeichen optional sind, wie es bei Animationsnamen der Fall ist:
@keyframe validIdent {
/* keyframes go here */
}
@keyframe 'validString' {
/* keyframes go here */
}
Einige Textwerte sind nicht gültig, wenn sie in Anführungszeichen gesetzt sind. Zum Beispiel kann der Wert von grid-area
ein <custom-ident>
sein, daher würden wir, wenn wir einen Rasterbereich namens content
hätten, diesen ohne Anführungszeichen verwenden:
.item {
grid-area: content;
}
Im Vergleich dazu muss ein Datentyp, der ein <string>
ist, wie ein Zeichenkettenwert der content
-Eigenschaft, zitiert werden:
.item::after {
content: "This is my content.";
}
Während Sie im Allgemeinen jeden gewünschten Namen erstellen können, einschließlich Emojis, darf der Identifikator nicht none
, unset
, initial
oder inherit
sein, nicht mit einer Ziffer oder zwei Bindestrichen beginnen, und im Allgemeinen sollten Sie vermeiden, dass es ein anderes vordefiniertes CSS-Schlüsselwort ist. Weitere Informationen finden Sie auf den Referenzseiten zu <custom-ident>
und <string>
.
Vordefinierte Schlüsselwortwerte
Vordefinierte Schlüsselwörter sind Textwerte, die von der Spezifikation für diese Eigenschaft definiert sind. Diese Schlüsselwörter sind auch CSS-Identifikatoren und werden daher ohne Anführungszeichen verwendet.
Wenn Sie die CSS-Eigenschaftswertsyntax in einer CSS-Spezifikation oder auf der MDN-Eigenschaftsseite betrachten, werden die zulässigen Schlüsselwörter in der folgenden Form aufgelistet. Die folgenden Werte sind die vordefinierten Schlüsselwortwerte, die für float
erlaubt sind.
left | right | none | inline-start | inline-end
Solche Werte werden ohne Anführungszeichen verwendet:
.box {
float: left;
}
CSS-weite Werte
Zusätzlich zu den vordefinierten Schlüsselwörtern, die Teil der Spezifikation für eine Eigenschaft sind, akzeptieren alle CSS-Eigenschaften die CSS-weiten Eigenschaftswerte initial
, inherit
, unset
, revert
und revert-layer
, die explizit Rücksetzverhalten angeben.
initial
-
Repräsentiert den Wert, der als anfänglicher Wert der Eigenschaft festgelegt wurde.
inherit
-
Repräsentiert den berechneten Wert der Eigenschaft des Elternelements des Elements, vorausgesetzt, dass es geerbt wird.
unset
-
Wirkt wie
inherit
oderinitial
, abhängig davon, ob die Eigenschaft geerbt wird oder nicht. revert
-
Setzt die Eigenschaft auf ihren geerbten Wert zurück, wenn sie diesen vom Elternelement erbt, oder auf den Standardwert, der durch das Stylesheet des Benutzer-Agents (oder, falls vorhanden, durch Benutzerstile) festgelegt wurde.
revert-layer
-
Rollt den Wert einer Eigenschaft in einem Kaskadenschicht zu dem Wert der Eigenschaft in einer CSS-Regel zurück, die dem Element in einer vorherigen Kaskadenschicht entspricht. Der Wert der Eigenschaft mit diesem Schlüsselwort wird neu berechnet, als ob keine Regeln für das Zielobjekt in der aktuellen Kaskadenschicht festgelegt wären.
URLs
Ein <url>
-Typ verwendet funktionale Notation, die eine <string>
akzeptiert, die eine URL ist. Dies kann eine absolute oder relative URL sein. Wenn Sie beispielsweise ein Hintergrundbild einfügen möchten, könnten Sie eine der folgenden verwenden.
.box {
background-image: url("images/my-background.png");
}
.box {
background-image: url("https://www.exammple.com/images/my-background.png");
}
Der Parameter für url()
kann entweder in Anführungszeichen oder nicht in Anführungszeichen stehen. Wenn nicht zitiert, wird es als <url-token>
analysiert, der zusätzliche Anforderungen wie das Escapen bestimmter Zeichen hat. Weitere Informationen finden Sie in <url>
.
Numerische Datentypen
Ganzzahlen
Eine Ganzzahl ist ein oder mehrere Dezimalziffern, 0
bis 9
, wie 1024
oder -55
. Eine Ganzzahl kann von einem +
oder -
Symbol flankiert sein, ohne Leerzeichen zwischen dem Symbol und der Ganzzahl.
Zahlen
Ein <number>
repräsentiert eine reelle Zahl, die einen Dezimalpunkt mit einer Bruchkomponente haben kann oder nicht, beispielsweise 0.255
, 128
oder -1.2
. Zahlen können auch von einem +
oder -
Symbol flankiert sein.
Dimensionen
Ein <dimension>
ist ein <number>
mit einer daran angehängten Einheit, zum Beispiel 45deg
, 100ms
oder 10px
. Der angehängte Einheit-Identifier ist nicht empfindlich für Groß- und Kleinschreibung. Es gibt niemals ein Leerzeichen oder andere Zeichen zwischen der Zahl und dem Einheiten-Identifier: d. h. 1 cm
ist nicht gültig.
CSS verwendet Dimensionen zur Spezifizierung von:
<length>
(Distanz-Einheiten)<angle>
<time>
<frequency>
<flex>
<resolution>
Diese sind alle in den untenstehenden Unterabschnitten behandelt.
Distanzeinheiten
Wo eine Distanzeinheit, auch als Länge bekannt, als Wert für eine Eigenschaft erlaubt ist, wird dies als <length>
-Typ beschrieben. Es gibt zwei Arten von Längen in CSS: relative und absolute Längen. Relative Längeneinheiten geben eine Länge im Verhältnis zu etwas anderem an.
Es gibt zwei Arten relativer Längen: schriftbezogene Längen und Längen in Prozent des Sichtbereichs. Diese kommen beide in zwei Arten. Schriftbezogene Längeneinheiten sind entweder lokal schriftbezogen oder wurzelschriftbezogen. Längen in Prozent des Sichtbereichs sind entweder relativ zur Höhe oder Breite des Sichtbereichs oder, wie im CSS Containment-Modul definiert, relativ zu einem Container.
Lokale schriftbezogene Längen
Lokale schriftbezogene Längen sind relativ zur "lokalen" Schriftgröße oder Zeilenhöhe und spezifizieren eine Länge im Verhältnis zu einer berechneten Größe einer Funktion des Elements selbst oder relativ zum vererbten Wert des Elements im Falle einer Zirkelreferenz, wie der em
-Wert für eine font-size
-Eigenschaft oder ein lh
-Wert für eine line-height
-Eigenschaft. Beispielsweise ist em
relativ zur Schriftgröße des Elements und ex
relativ zur x-Höhe der Schrift des Elements.
Einheit | Relativ zu |
---|---|
cap |
Kappenhöhe (die nominelle Höhe von Großbuchstaben) der Schrift des Elements. |
ch |
Durchschnittliche Zeichenbreite eines schmalen Glyphs in der Schrift des Elements, dargestellt durch das "0" (NULL, U+0030) Glyphe. |
em |
Schriftgröße der Schrift des Elements. |
ex |
x-Höhe der Schrift des Elements. |
ic |
Durchschnittliche Zeichenbreite eines vollen Breitenzeichens in der Schrift des Elements, dargestellt durch das "水" (CJK Wasser Ideogramm, U+6C34) Glyphe. |
lh |
Zeilenhöhe des Elements. |
Wurzelschriftbezogene Längen
Wurzelschriftbezogene Längen spezifizieren eine Länge im Verhältnis zum Wurzelelement-Vorfahr des Elements, wie <html>
oder <SVG>
.
Zum Beispiel ist rem
relativ zur Schriftgröße des Wurzelelements und rex
die x-Höhe der Schrift des Wurzelelements.
Einheit | Relativ zu |
---|---|
rcap |
Kappenhöhe (die nominelle Höhe von Großbuchstaben) der Schrift des Wurzelelements. |
rch |
Durchschnittliche Zeichenbreite eines schmalen Glyphs in der Schrift des Wurzelelements, dargestellt durch das "0" (NULL, U+0030) Glyphe. |
rem |
Schriftgröße der Schrift des Wurzelelements. |
rex |
x-Höhe der Schrift des Wurzelelements. |
ric |
Durchschnittliche Zeichenbreite eines vollen Breitenzeichens in der Schrift des Wurzelelements, dargestellt durch das "水" (CJK Wasser Ideogramm, U+6C34) Glyphe. |
rlh |
Zeilenhöhe des Wurzelelements. |
Sichtbereichseinheiten
Längeneinheiten des Sichtbereichs geben eine Länge relativ zu den Abmessungen des Sichtbereichs an.
Zum Beispiel ist vw
relativ zur Breite des Sichtbereichs und vh
relativ zur Höhe des Sichtbereichs.
Einheit | Relativ zu |
---|---|
dvh |
1% der dynamischen Höhe des Sichtbereichs. |
dvw |
1% der dynamischen Breite des Sichtbereichs. |
lvh |
1% der großen Höhe des Sichtbereichs. |
lvw |
1% der großen Breite des Sichtbereichs. |
svh |
1% der kleinen Höhe des Sichtbereichs. |
svw |
1% der kleinen Breite des Sichtbereichs. |
vb |
1% der Sichtbereichsgröße in der Blockachse des Wurzelelements. |
vh |
1% der Höhe des Sichtbereichs. |
vi |
1% der Sichtbereichsgröße in der Inlineachse des Wurzelelements. |
vmax |
1% der größeren Dimension des Sichtbereichs. |
vmin |
1% der kleineren Dimension des Sichtbereichs. |
vw |
1% der Breite des Sichtbereichs. |
Container-Einheiten
Längeneinheiten für Container-Abfragen geben eine Länge relativ zu den Abmessungen eines Abfragecontainers an.
Zum Beispiel ist cqw
relativ zur Breite des Abfragecontainers und cqh
relativ zur Höhe des Abfragecontainers.
Einheit | Relativ zu |
---|---|
cqb |
1% der Blockgröße eines Abfragecontainers |
cqh |
1% der Höhe eines Abfragecontainers |
cqi |
1% der Innengröße eines Abfragecontainers |
cqmax |
Der größere Wert von cqi oder cqb |
cqmin |
Der kleinere Wert von cqi oder cqb |
cqw |
1% der Breite eines Abfragecontainers |
Absolute Längeneinheiten
Absolute Längeneinheiten sind an eine physikalische Länge gebunden: entweder ein Zoll oder ein Zentimeter. Viele dieser Einheiten sind daher nützlicher, wenn die Ausgabe ein festes Medienformat hat, wie z. B. beim Drucken. Zum Beispiel ist mm
ein physischer Millimeter, 1/10 eines Zentimeters.
Einheit | Name | Entspricht |
---|---|---|
cm |
Zentimeter | 1cm = 96px/2.54 |
in |
Zoll | 1in = 2.54cm = 96px |
mm |
Millimeter | 1mm = 1/10 von 1cm |
pc |
Pica | 1pc = 1/6 von 1in |
pt |
Punkt | 1pt = 1/72 von 1in |
px |
Pixel | 1px = 1/96 von 1in |
Q |
Viertelmilliimeter | 1Q = 1/40 von 1cm |
Wenn ein Längenwert enthalten ist, ist, wenn die Länge 0
ist, der Einheit-Identifikator nicht erforderlich. Andernfalls wird der Einheit-Identifikator benötigt, ist nicht empfindlich für Groß- und Kleinschreibung und muss unmittelbar nach dem numerischen Teil des Wertes erfolgen, ohne Leerzeichen dazwischen.
Winkeleinheiten
Winkelwerte werden durch den Typ <angle>
dargestellt und akzeptieren folgende Werte:
Einheit | Name | Beschreibung |
---|---|---|
deg |
Grad | Es gibt 360 Grad in einem vollständigen Kreis. |
grad |
Gon | Es gibt 400 Gons in einem vollständigen Kreis. |
rad |
Radiant | Es gibt 2π Radianten in einem vollständigen Kreis. |
turn |
Umdrehung | Es gibt 1 Umdrehung in einem vollständigen Kreis. |
Zeiteinheiten
Zeitwerte werden durch den Typ <time>
dargestellt. Wenn ein Zeitwert enthalten ist, ist der Einheiten-Identifikator — das s
oder ms
— erforderlich. Er akzeptiert die folgenden Werte.
Einheit | Name | Beschreibung |
---|---|---|
ms |
Millisekunden | Es gibt 1.000 Millisekunden in einer Sekunde. |
s |
Sekunden |
Frequenzeinheiten
Frequenzwerte werden durch den Typ <frequency>
dargestellt. Er akzeptiert die folgenden Werte.
Einheit | Name | Beschreibung |
---|---|---|
Hz |
Hertz | Repräsentiert die Anzahl der Ereignisse pro Sekunde. |
kHz |
KiloHertz | Ein KiloHertz entspricht 1000 Hertz. |
1Hz
, das auch als 1hz
oder 1HZ
geschrieben werden kann, ist ein Zyklus pro Sekunde.
Flex-Einheiten
Flex-Einheiten werden durch den Typ <flex>
dargestellt. Er akzeptiert den folgenden Wert.
Einheit | Name | Beschreibung |
---|---|---|
fr |
Flex | Repräsentiert eine flexible Länge innerhalb eines Rastercontainers. |
Auflösungseinheiten
Auflösungseinheiten werden durch den Typ <resolution>
dargestellt. Sie repräsentieren die Größe eines einzelnen Punkts in einer grafischen Darstellung, wie einem Bildschirm, indem sie angeben, wie viele dieser Punkte in einen CSS-Zoll, Zentimeter oder Pixel passen. Sie akzeptieren die folgenden Werte:
Einheit | Beschreibung |
---|---|
dpcm |
Punkte pro Zentimeter. |
dpi |
Punkte pro Zoll. |
dppx , x |
Punkte pro px-Einheit. |
Prozentsätze
Ein <percentage>
ist ein Typ, der einen Bruchteil eines anderen Wertes darstellt.
Prozentwerte sind immer relativ zu einer anderen Größe, zum Beispiel einer Länge. Jede Eigenschaft, die Prozentsätze zulässt, definiert auch die Größe, auf die sich der Prozentsatz bezieht. Diese Größe kann ein Wert einer anderen Eigenschaft desselben Elements sein, der Wert einer Eigenschaft eines Vorfahren-Elements, eine Messung eines enthaltenen Blocks oder etwas anderes.
Als Beispiel, wenn Sie die width
einer Box als Prozentsatz angeben, bezieht sich dieser auf den Prozentsatz der berechneten Breite des übergeordneten Elements der Box:
.box {
width: 50%;
}
Kombination von Prozentsätzen und Dimensionen
Einige Eigenschaften akzeptieren eine Dimensionsangabe, die entweder eine von zwei Typen sein könnte, zum Beispiel eine <length>
oder ein <percentage>
. In diesem Fall wird der zulässige Wert in der Spezifikation als Kombinationseinheit, z. B. <length-percentage>
, angegeben. Andere mögliche Kombinationen sind wie folgt:
Spezielle Datentypen (in anderen Spezifikationen definiert)
Farbe
Der <color>
-Wert gibt die Farbe eines Elementmerkmals an (z. B. dessen Hintergrundfarbe) und wird im CSS Color Module definiert.
Bild
Der <image>
-Wert spezifiziert alle unterschiedlichen Bildtypen, die in CSS verwendet werden können und wird im CSS Image Values and Replaced Content Module definiert.
Position
Der <position>
-Typ definiert die 2D-Positionierung eines Objekts innerhalb eines Positionierungsbereichs, beispielsweise eines Hintergrundbildes innerhalb eines Containers. Dieser Typ wird als background-position
interpretiert und daher in der CSS Backgrounds and Borders specification spezifiziert.
Funktionale Notation
Funktionale Notation ist eine Art von Wert, die komplexere Typen darstellen oder spezielle Verarbeitung durch CSS anfordern kann. Die Syntax beginnt mit dem Namen der Funktion, gefolgt von einer linken Klammer (
, gefolgt von dem/den Argument(en) der Notation, gefolgt von einer rechten Klammer )
. Funktionen können mehrere Argumente haben, die ähnlich wie ein CSS-Eigenschaftswert formatiert sind.
Leerzeichen sind erlaubt, aber innerhalb der Klammern optional. (Siehe aber Hinweise zu Leerzeichen auf Seiten für min()
, max()
, minmax()
und clamp()
-Funktionen.)
Einige veraltete funktionale Notationen, wie die veraltete Syntax für rgb()
, rgba()
, hsl()
und hsla()
, verwendeten Kommata, aber Kommata werden im Allgemeinen nur verwendet, um Elemente in einer Liste zu trennen. Wenn ein Komma verwendet wird, um Argumente zu trennen, sind vor und nach dem Komma Leerzeichen optional.
Spezifikationen
Specification |
---|
CSS Values and Units Module Level 4 |
CSS Color Module Level 4 |
CSS Images Module Level 3 |