CSS3-Eigenschaften
Eine gruppierte Referenz aller wichtigen CSS3-Eigenschaften, geordnet nach Modul (Animation, Flexbox, Grid, Transforms u. a.) mit Links zu vollständigen Kapiteln.
CSS3 ist die neueste Weiterentwicklung der Cascading Style Sheets-Sprache. Anstatt einer monolithischen Veröffentlichung ist CSS3 in eigenständige Module aufgeteilt — Animationen, Flexbox, CSS Grid, Hintergründe und Rahmen, Transforms, Filter und mehr —, die Browser unabhängig voneinander implementieren und ausliefern können. Jedes Modul fügte neue Eigenschaften zum ursprünglichen CSS2-Set hinzu und ermöglicht so abgerundete Ecken, Verläufe, Schatten, Animationen, flexible und rasterbasierte Layouts sowie visuelle Filter — ganz ohne Bilder oder JavaScript.
Diese Seite ist ein Schnellreferenz-Index der in CSS3 eingeführten oder wesentlich erweiterten Eigenschaften, geordnet nach dem Modul, zu dem sie gehören. Jede Zeile verlinkt auf ein vollständiges Kapitel mit Syntax, Werten und Live-Beispielen.
Wenn Sie neu in der Sprache sind, beginnen Sie mit den Kapiteln CSS Introduction und CSS Syntax, bevor Sie sich einzelnen Eigenschaften widmen.
So nutzen Sie diese Referenz
- Eigenschaft nach Gruppe finden. Die nachfolgenden Überschriften spiegeln die CSS3-Module wider: Wenn Sie eine Layout-Eigenschaft benötigen, suchen Sie unter Flexible Box Layout oder Grid Layout; für Bewegung unter Animation oder Transitions; für visuelle Effekte unter Filter Effects oder Transform Properties.
- Für Details durchklicken. Jede Eigenschaft verlinkt auf ein eigenes Kapitel mit der vollständigen Werteliste, Standardwerten und ausführbaren Demos.
- Browser-Unterstützung beachten. CSS3-Module erreichten stabile, präfixfreie Unterstützung zu unterschiedlichen Zeiten. Die meisten nachfolgenden Eigenschaften funktionieren in jedem modernen Browser, aber überprüfen Sie die Unterstützung neuerer Ergänzungen (beispielsweise bestimmter
column-*-Eigenschaften) stets, bevor Sie sie in der Produktion einsetzen.
Ein Hinweis zu Vendor-Präfixen
Während CSS3-Module noch experimentell waren, lieferten Browser Eigenschaften hinter Vendor-Präfixen wie -webkit-, -moz-, -ms- und -o- aus. In älteren Codebasen begegnen sie Ihnen möglicherweise noch:
/* Older code — prefixes were needed during the experimental phase */
.box {
-webkit-transform: rotate(15deg);
-moz-transform: rotate(15deg);
transform: rotate(15deg); /* Always list the unprefixed property last */
}Für die nachfolgend aufgeführten Eigenschaften brauchen Sie heute fast nie Präfixe — schreiben Sie den standardmäßigen, präfixfreien Namen. Verwenden Sie Präfixe nur dann, wenn Sie einen Legacy-Browser unterstützen müssen, und listen Sie die Standard-Eigenschaft immer zuletzt auf, damit sie überschreibt.
CSS3 vs. CSS2 — Was hat sich geändert?
CSS2 deckte das grundlegende Box-Modell, Farben, Schriften und Positionierung ab. CSS3 baute auf diesem Fundament auf und ergänzte folgende Fähigkeiten, die zuvor fehlten oder sehr begrenzt waren:
- Abgerundete Ecken und Rahmenbilder —
border-radius,border-image - Schatten —
box-shadow,text-shadow - Verläufe und mehrere Hintergründe —
background-size,background-clip - Flexible und rasterbasierte Layouts — Flexbox (
flex,align-items, …), CSS Grid (grid,grid-template-columns, …) - 2D- und 3D-Transforms —
transform,perspective - Sanfte Zustandsänderungen —
transition - Keyframe-Animationen —
animation,@keyframes - Mehrspaltige Texte —
column-count,column-gap - Visuelle Filter —
filter(blur, brightness, contrast, …) - Benutzerdefinierte Transparenz —
opacity
Liste der CSS3-Eigenschaften
Animation-Eigenschaften
Keyframe-Animationen ermöglichen es, zu beschreiben, wie ein Element eine Reihe von Stil-Momentaufnahmen durchläuft. Die @keyframes-Regel definiert die Momentaufnahmen; die animation-*-Eigenschaften binden sie an ein Element und steuern sie.
/* Minimal animation example */
@keyframes slide-in {
from { transform: translateX(-100%); opacity: 0; }
to { transform: translateX(0); opacity: 1; }
}
.banner {
animation: slide-in 0.4s ease-out both;
}| Eigenschaft | Beschreibung |
|---|---|
| animation | Kurzschreibweise, die alle Animations-Untereigenschaften in einer Deklaration festlegt. |
| animation-delay | Gibt an, wann eine Animation startet (positiv = Verzögerung; negativ = Start in der Mitte eines Zyklus). |
| animation-direction | Steuert die Abspielrichtung: normal, reverse, alternate oder alternate-reverse. |
| animation-duration | Legt fest, wie lange ein Animationszyklus dauert (z. B. 0.4s, 500ms). |
| animation-fill-mode | Legt den Stil des Elements vor dem Start und/oder nach dem Ende der Animation fest (forwards, backwards, both). |
| animation-iteration-count | Wie oft die Animation abgespielt wird — eine Zahl oder infinite. |
| animation-name | Benennt die anzuwendende @keyframes-Regel. |
| animation-play-state | Hält eine Animation an (paused) oder setzt sie fort (running) — nützlich für Umschalter. |
| animation-timing-function | Easing-Kurve für jeden Zyklus: ease, linear, ease-in-out, cubic-bezier(…), steps(…). |
| @keyframes (At-Regel) | Definiert die Zwischen-Stil-Momentaufnahmen (Keyframes), durch die eine Animation schrittweise verläuft. |
Hintergrund-Eigenschaften
CSS3 erweiterte Hintergründe um Unterstützung für Größenanpassung, Clipping-Bereiche und mehrere überlagerte Bilder auf einem einzigen Element.
/* Responsive hero with background-size */
.hero {
background-image: url('/img/hero.jpg');
background-size: cover; /* fills the box; crop as needed */
background-position: center;
background-clip: border-box; /* default; image reaches border edge */
}| Eigenschaft | Beschreibung |
|---|---|
| background-clip | Steuert, wie weit der Hintergrund reicht — border-box, padding-box oder content-box. |
| background-origin | Legt den Ursprung für background-position fest — border-box, padding-box oder content-box. |
| background-size | Legt die Größe des Hintergrundbilds fest: eine Länge, auto, cover (füllen, ggf. zuschneiden) oder contain (vollständig einpassen). |
Rahmen-Eigenschaften
CSS3 fügte abgerundete Ecken und bildbasierte Rahmen hinzu — Funktionen, die zuvor Bild-Workarounds erforderten.
/* Rounded button */
.btn {
border-radius: 6px;
border: 2px solid steelblue;
}
/* Pill shape */
.badge {
border-radius: 999px;
}| Eigenschaft | Beschreibung |
|---|---|
| border-bottom-left-radius | Rundet die untere linke Ecke ab. Akzeptiert einen Radius (Kreis) oder zwei (Ellipse). |
| border-bottom-right-radius | Rundet die untere rechte Ecke ab. |
| border-image | Verwendet ein Bild als Rahmen, aufgeteilt in neun Bereiche. |
| border-image-outset | Wie weit das Rahmenbild über die Rahmen-Box hinausragt. |
| border-image-repeat | Ob die Kacheln des Rahmenbilds stretched (gestreckt), repeated (wiederholt) oder rounded (gerundet) werden. |
| border-image-slice | Unterteilt das Quellbild in neun Bereiche (vier Ecken, vier Kanten, Mitte). |
| border-image-source | Die Bild-URL oder der Verlauf, der als Rahmen verwendet wird. |
| border-image-width | Breite der Rahmenbild-Bereiche (kann von der CSS-border-width abweichen). |
| border-radius | Kurzschreibweise für alle vier Eckenradien. |
| border-top-left-radius | Rundet die obere linke Ecke ab. |
| border-top-right-radius | Rundet die obere rechte Ecke ab. |
Farbe und Transparenz
| Eigenschaft | Beschreibung |
|---|---|
| opacity | Legt die Transparenz eines gesamten Elements (und seiner Kindelemente) von 0 (unsichtbar) bis 1 (vollständig undurchsichtig) fest. Für kanalspezifische Transparenz verwenden Sie stattdessen rgba() oder hsla() in den Werten von color / background-color. |
Filter Effects
Die filter-Eigenschaft wendet grafische Effekte (Unschärfe, Helligkeit, Kontrast, Schlagschatten usw.) direkt in CSS an — kein Bildeditor erforderlich.
.card:hover img {
filter: brightness(1.1) saturate(1.2);
transition: filter 0.2s ease;
}
.modal-backdrop {
filter: blur(4px);
}| Eigenschaft | Beschreibung |
|---|---|
| filter | Wendet eine oder mehrere Filterfunktionen an: blur(), brightness(), contrast(), drop-shadow(), grayscale(), hue-rotate(), invert(), opacity(), saturate(), sepia() und url() (SVG-Filter). |
Flexible Box Layout
Flexbox ist ein eindimensionales Layout-Modell — es verteilt Elemente entlang einer einzelnen Achse (Zeile oder Spalte) und übernimmt Ausrichtung, Abstände und Umbruch automatisch.
/* Classic centered card */
.card-grid {
display: flex;
flex-wrap: wrap;
gap: 1rem;
justify-content: center;
align-items: stretch;
}
.card {
flex: 1 1 300px; /* grow | shrink | basis */
}Eine vollständige Einführung finden Sie unter The Ultimate Guide to Flexbox.
| Eigenschaft | Beschreibung |
|---|---|
| align-content | Richtet die Zeilen eines Flex-Containers entlang der Querachse aus, wenn überschüssiger Platz vorhanden ist (flex-start, flex-end, center, space-between, space-around, stretch). |
| align-items | Standard-Querachsenausrichtung für alle Flex-Elemente in einem Container. |
| align-self | Überschreibt align-items für ein einzelnes Flex-Element. |
| flex | Kurzschreibweise für flex-grow, flex-shrink und flex-basis. |
| flex-basis | Die Anfangsgröße eines Flex-Elements, bevor freier Platz verteilt wird. |
| flex-direction | Hauptachsenrichtung: row, row-reverse, column oder column-reverse. |
| flex-flow | Kurzschreibweise für flex-direction und flex-wrap. |
| flex-grow | Wie stark ein Flex-Element im Verhältnis zu Geschwisterelementen wächst, wenn überschüssiger Platz vorhanden ist. |
| flex-shrink | Wie stark ein Flex-Element im Verhältnis zu Geschwisterelementen schrumpft, wenn der Platz knapp ist. |
| flex-wrap | Ob Flex-Elemente auf mehrere Zeilen umbrechen (nowrap, wrap, wrap-reverse). |
| justify-content | Richtet Elemente entlang der Hauptachse aus (flex-start, flex-end, center, space-between, space-around, space-evenly). |
| justify-items | Standard-Inline-Achsenausrichtung für alle Grid-Elemente (auch im Grid verwendet). |
| order | Ändert die visuelle Reihenfolge eines Flex- oder Grid-Elements ohne Änderung der DOM-Reihenfolge. |
Schrift-Eigenschaften
| Eigenschaft | Beschreibung |
|---|---|
| font-size-adjust | Bewahrt die scheinbare Textgröße, wenn die bevorzugte Schrift nicht verfügbar ist, indem die Größe der Ersatzschrift angepasst wird, um das x-Höhenverhältnis beizubehalten. |
| font-stretch | Wählt einen kondensierten oder erweiterten Schnitt einer Schriftfamilie aus (z. B. condensed, expanded, ultra-condensed). |
Grid Layout
CSS Grid ist ein zweidimensionales Layout-System — es platziert Elemente gleichzeitig in Zeilen und Spalten und eignet sich ideal für Seitenlayouts und komplexe Komponentenraster.
/* Three-column responsive grid */
.layout {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
gap: 1.5rem;
}
/* Named template areas */
.page {
display: grid;
grid-template-areas:
"header header"
"sidebar main"
"footer footer";
grid-template-columns: 200px 1fr;
grid-template-rows: auto 1fr auto;
}| Eigenschaft | Beschreibung |
|---|---|
| grid | Kurzschreibweise für alle Grid-Container-Eigenschaften. |
| grid-area | Weist ein Grid-Element einem benannten Bereich zu oder gibt seine Zeilen-/Spaltenposition als Kurzschreibweise an. |
| grid-auto-columns | Legt die Spaltengröße für implizit erstellte Tracks fest (wenn Elemente das explizite Grid überschreiten). |
| grid-auto-flow | Steuert, wie automatisch platzierte Elemente das Grid füllen (row, column, dense). |
| grid-auto-rows | Legt die Zeilengröße für implizit erstellte Tracks fest. |
| grid-column | Kurzschreibweise für grid-column-start und grid-column-end. |
| grid-column-end | Wo ein Element entlang der Spaltenachse endet (Zeilennummer, Span oder Name). |
| grid-column-gap | Abstand zwischen Spalten (in modernem CSS durch column-gap ersetzt). |
| grid-column-start | Wo ein Element entlang der Spaltenachse beginnt. |
| grid-gap | Kurzschreibweise für row-gap und column-gap (älterer Name; bevorzugen Sie gap). |
| grid-row | Kurzschreibweise für grid-row-start und grid-row-end. |
| grid-row-end | Wo ein Element entlang der Zeilenachse endet. |
| grid-row-gap | Abstand zwischen Zeilen (in modernem CSS durch row-gap ersetzt). |
| grid-row-start | Wo ein Element entlang der Zeilenachse beginnt. |
| grid-template | Kurzschreibweise für grid-template-rows, grid-template-columns und grid-template-areas. |
| grid-template-areas | Definiert benannte Template-Bereiche mit einer zeichenfolgenbasierten ASCII-Art-Syntax. |
| grid-template-columns | Definiert Anzahl und Größe expliziter Spalten (Längen, Prozent, fr-Einheiten, repeat(), minmax()). |
| grid-template-rows | Definiert Anzahl und Größe expliziter Zeilen. |
Mehrspalten-Layout-Eigenschaften
Das Mehrspalten-Layout verteilt Inhalte automatisch über eine festgelegte Anzahl oder Breite von Spalten — ähnlich einem Zeitungslayout.
/* Two-column article body */
.article-body {
columns: 2 400px; /* shorthand: column-count column-width */
column-gap: 2rem;
column-rule: 1px solid #ddd;
}
h2 {
column-span: all; /* heading breaks out of columns */
}| Eigenschaft | Beschreibung |
|---|---|
| column-count | Anzahl der Spalten, in die der Inhalt aufgeteilt wird. |
| column-fill | Ob Spalten ausgeglichen werden (balance) oder sequenziell gefüllt werden (auto). |
| column-gap | Abstand zwischen Spalten (auch in Flexbox und CSS Grid verwendet). |
| column-rule | Kurzschreibweise für die Trennlinie zwischen Spalten (Stil, Breite, Farbe). |
| column-rule-color | Farbe der Trennlinie zwischen Spalten. |
| column-rule-style | Linienstil der Trennlinie (solid, dashed, dotted usw.). |
| column-rule-width | Stärke der Trennlinie zwischen Spalten. |
| column-span | Ob ein Element eine Spalte umfasst (none) oder alle Spalten (all). |
| column-width | Ideale Spaltenbreite; der Browser erstellt so viele Spalten wie hineinpassen. |
| columns | Kurzschreibweise für column-count und column-width. |
Outline-Eigenschaften
| Eigenschaft | Beschreibung |
|---|---|
| outline-offset | Schiebt den Outline vom Rahmenrand des Elements weg (positiv = nach außen; negativ = nach innen). Anders als Margins beeinflusst er das Layout nicht. |
Text-Eigenschaften
CSS3 fügte Kontrolle über Textüberlauf, Umbruch, Schatten und eine feinkörnige Steuerung der Dekorationsstile hinzu.
/* Truncate long titles with ellipsis */
.card-title {
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
}
/* Subtle heading shadow */
h1 {
text-shadow: 1px 2px 4px rgba(0, 0, 0, 0.25);
}| Eigenschaft | Beschreibung |
|---|---|
| tab-size | Breite eines Tabulatorzeichens in <pre> und Code-Blöcken (Anzahl der Leerzeichen oder eine Länge). |
| text-align-last | Ausrichtung der letzten (oder einzigen) Zeile in einem Block mit Blocksatz. |
| text-decoration-color | Farbe der Unterstreichung, Überstreichung oder Durchstreichung. |
| text-decoration-line | Welche Dekorationslinien gezeichnet werden: underline, overline, line-through oder none. |
| text-decoration-style | Stil der Dekorationslinie: solid, double, dotted, dashed oder wavy. |
| text-justify | Ausrichtungsmethode bei aktivem text-align: justify (auto, inter-word, inter-character). |
| text-overflow | Wie überlaufender Inline-Text angezeigt wird: clip (abschneiden) oder ellipsis (… anzeigen). Erfordert overflow: hidden und white-space: nowrap. |
| text-shadow | Fügt Text einen oder mehrere Schatten hinzu. Syntax: offset-x offset-y blur-radius color. |
| word-break | Wo Zeilenumbrüche innerhalb von Wörtern erfolgen: normal, break-all oder keep-all. |
| word-wrap | Ob der Browser ein nicht umbrechbares Wort trennen darf, um Überlauf zu verhindern (normal oder break-word). Auch standardisiert als overflow-wrap. |
Transform-Eigenschaften
Transforms verschieben, drehen, skalieren oder neigen Elemente im 2D- oder 3D-Raum, ohne den Dokumentfluss zu beeinflussen.
/* 2D card flip on hover */
.card {
perspective: 600px;
transform-style: preserve-3d;
transition: transform 0.5s ease;
}
.card:hover {
transform: rotateY(180deg);
}
.card-back {
backface-visibility: hidden;
}| Eigenschaft | Beschreibung |
|---|---|
| backface-visibility | Ob die Rückseite eines 3D-transformierten Elements sichtbar ist, wenn sie vom Betrachter abgewandt ist (visible oder hidden). Unverzichtbar für Karten-Flip-Effekte. |
| perspective | Abstand vom Betrachter zur z=0-Ebene; kleinere Werte = dramatischerer 3D-Effekt. Wird auf das Elternelement des transformierten Elements angewendet. |
| perspective-origin | Die x/y-Position des Fluchtpunkts für die perspective-Transformation. |
| transform | Wendet 2D- oder 3D-Transformationsfunktionen an: translate(), rotate(), scale(), skew(), matrix() und ihre 3D-Varianten. |
| transform-origin | Der Punkt, um den eine Transformation angewendet wird (Standard: 50% 50% — Elementmittelpunkt). |
| transform-style | Ob Kindelemente im 3D-Raum gerendert werden (preserve-3d) oder in die Ebene des Elements abgeflacht werden (flat). |
Transition-Eigenschaften
Transitions animieren Eigenschaftsänderungen von einem Wert zu einem anderen über eine festgelegte Dauer, wenn sich eine CSS-Eigenschaft ändert (z. B. bei :hover).
/* Smooth color + shadow on hover */
.btn {
background-color: steelblue;
box-shadow: none;
transition: background-color 0.2s ease, box-shadow 0.2s ease;
}
.btn:hover {
background-color: dodgerblue;
box-shadow: 0 4px 12px rgba(0, 0, 0, 0.2);
}Transitions vs. Animationen: Verwenden Sie transition für zustandsgesteuerte Änderungen (hover, focus, active) — sie sind einfacher zu schreiben. Verwenden Sie animation mit @keyframes für unabhängige, wiederholende oder mehrstufige Bewegungen, die ohne Benutzerinteraktion ablaufen.
| Eigenschaft | Beschreibung |
|---|---|
| transition | Kurzschreibweise für transition-property, transition-duration, transition-timing-function und transition-delay. |
| transition-delay | Wie lange gewartet wird, bevor die Transition beginnt. |
| transition-duration | Wie lange die Transition von Anfang bis Ende dauert. |
| transition-property | Welche CSS-Eigenschaft (oder all) die Transition betrifft. |
| transition-timing-function | Die Geschwindigkeitskurve der Transition (ease, linear, ease-in, ease-out, ease-in-out, cubic-bezier(…), steps(…)). |
Visuelle Formatierungs-Eigenschaften
| Eigenschaft | Beschreibung |
|---|---|
| box-shadow | Fügt einem oder mehreren Schatten um die Box eines Elements hinzu. Syntax: offset-x offset-y blur spread color. Verwenden Sie inset für einen inneren Schatten. |
| box-sizing | Legt fest, ob width und height Padding und Rahmen einschließen (border-box) oder ausschließen (content-box, der CSS2-Standard). Fast alle modernen Projekte setzen *, *::before, *::after { box-sizing: border-box; }. |
| overflow-x | Steuert den horizontalen Überlauf: visible, hidden, clip, scroll oder auto. |
| overflow-y | Steuert den vertikalen Überlauf: visible, hidden, clip, scroll oder auto. |
| resize | Macht ein Element vom Benutzer in der Größe veränderbar: both, horizontal, vertical oder none. Erfordert, dass overflow einen anderen Wert als visible hat. |
Verwandte Referenzen
Wenn Sie die benötigte Eigenschaft kennen, behandeln diese Kapitel die meistgenutzten CSS3-Funktionen ausführlich:
- CSS Animation und @keyframes für Keyframe-basierte Bewegungen.
- The Ultimate Guide to Flexbox für eindimensionale Layouts.
- grid und grid-template-columns für zweidimensionale Seitenlayouts.
- filter für Unschärfe, Helligkeit, Kontrast, Schlagschatten und andere grafische Effekte.
- transform und transition für visuelle Effekte und sanfte Zustandsänderungen.
- border-radius und box-shadow für moderne dekorative Gestaltung.