CSS-Gradienten sind eine dieser Funktionen, die einfach aussehen, bis man einen braunen, unübersichtlichen Fleck sieht, anstatt einen sauberen Übergang von blau zu lila. Die Syntax hat Besonderheiten, der Debug-Path ist unklar und die meisten Anleitungen beenden gerade vor dem Beginn der Probleme.
Dies ist eine praktische Referenz. Jeder Begriff verfügt über funktionierenden Code. Öffnen Sie einen CSS-Gradientengenerator in einem anderen Tab — Sie werden während des Lesens experimentieren wollen.
Die drei Arten — und wann Sie welche verwenden sollten
linear-gradient ist für alles Richtungsbezogene: Hintergrundbilder, Buttons, Trennlinien.
background: linear-gradient(135deg, #6366f1, #8b5cf6);
radial-gradient strahlt von einem Zentrum aus — gut für Spotlights, Gläser und kreisförmige UI-Elemente.
background: radial-gradient(circle at 30% 40%, #f59e0b, #ef4444);
conic-gradient schwankt um einen zentralen Winkel — die richtige Wahl für Kreisdiagramme, Lade-Indikatoren und Farbwheels.
background: conic-gradient(from 90deg, #3b82f6, #8b5cf6, #3b82f6);
Regel: Wenn der Übergang in eine Richtung fließt, verwenden Sie linear. Wenn er von einem Zentrum ausgeht, verwenden Sie radial. Wenn er sich dreht, verwenden Sie conic.
Syntaxaufteilung: Die Teile, die Menschen verunsichern
Der häufigste Quell der Verwirrung ist Richtung vs. Winkel. to right und 90deg beide erzeugen einen von links nach rechts verlaufenden Gradienten, unterscheiden sich jedoch in der Behandlung von nicht-quadratischen Elementen. Verwenden Sie Richtungswörter (to right, to bottom right), wenn der Gradient auf die Form des Elements abgestimmt werden soll. Verwenden Sie Winkelwerte, wenn Sie exakte Kontrolle benötigen.
Farbstopps sind dort, wo Präzision wichtig ist:
/* Even distribution — browser figures out spacing */
background: linear-gradient(to right, #f97316, #8b5cf6);
/* Explicit stops */
background: linear-gradient(to right, #f97316 0%, #f97316 30%, #8b5cf6 60%, #8b5cf6 100%);
Die zweite Version hält ein festes Orange für 30%, bevor sie zu Lila übergeht. Ohne explizite Positionen ergibt sich ein glatter, gleichmäßiger Übergang.
Sie können auch eine harte Farbgrenze erzwingen — nützlich für gestreifte Muster:
/* Hard mid-stop: sharp color transition at 50% */
background: linear-gradient(to right, #3b82f6 50%, #ef4444 50%);
Häufige Probleme und was sie tatsächlich verursacht
Banding — sichtbare Streifen statt einen glatten Gradienten — tritt häufig bei geringem Kontrast oder bei dunkel-dunklen Übergängen auf. Durch Hinzufügen eines subtilen Mittelstops und eine leichte Verschiebung der Farben kann es oft behoben werden:
/* Before — banding prone */
background: linear-gradient(180deg, #1e1b4b, #312e81);
/* After — add a mid nudge */
background: linear-gradient(180deg, #1e1b4b 0%, #2e2b6e 50%, #312e81 100%);
Farben, die nicht glatt miteinander verschmelzen — Lila wird zwischen Rot und Blau braun — ist ein bekanntes sRGB-Problem. CSS Color Level 4 hat in oklab Interpolation eingeführt, die durch den perzeptiven Farbtonraum verschmilzt:
/* Modern — cleaner blends */
background: linear-gradient(in oklab to right, #ef4444, #3b82f6);
Die Browserunterstützung ist im Jahr 2026 solide. Wenn Sie eine Unterstützung für ältere Browser benötigen, behalten Sie den Standardgradienten als Rückfallwert über dem neuen Gradienten.
Conic-Gradienten in älteren WebKit: Fügen Sie einen festen Farb-Rückfall hinzu für funktionale Anwendungen — Kreisdiagramme, Fortschrittsanzeigen — da fehlerhafte Dekorationen akzeptabel sind, aber ein defektes UI nicht:
.pie {
background: #6366f1; /* fallback */
background: conic-gradient(#6366f1 var(--pct), #e5e7eb var(--pct));
}
Schichtung von Gradienten
CSS-Hintergründe akzeptieren mehrere Werte — Gradienten stapeln sich wie Schichten, von oben nach unten in der Deklarationsreihenfolge:
background:
linear-gradient(rgba(0, 0, 0, 0.4), rgba(0, 0, 0, 0.4)),
radial-gradient(ellipse at 20% 80%, #6366f1 0%, transparent 60%),
radial-gradient(ellipse at 80% 20%, #f59e0b 0%, transparent 60%),
#0f172a;
Die dunkle Schicht liegt oben, zwei Gläser liegen darunter und ein fester Rückfall liegt unten. Dieses Muster ist häufig für Hero-Teile, die Tiefe benötigen, ohne ein Bild zu laden.
Eine Beschränkung: Gradientenschichten mit rgba oder transparenten Stopps interagieren mit dem, was darunter steht, in derselben background Stack, nicht mit dem Hintergrund der Seite. Planen Sie Ihre Schichtreihenfolge entsprechend.
CSS-Variable machen Gradienten themenfähig
Festgelegte Farbwerte in Gradienten brechen Theme-Systeme. Definieren Sie Stopps als Variablen:
:root {
--gradient-start: #6366f1;
--gradient-end: #8b5cf6;
--gradient-angle: 135deg;
}
.card {
background: linear-gradient(var(--gradient-angle), var(--gradient-start), var(--gradient-end));
}
[data-theme="warm"] {
--gradient-start: #f97316;
--gradient-end: #ef4444;
}
Das Wechseln von Themen wird zu einer einzelnen Variablen-Überschreibung. Kombinieren Sie dies mit @property um animierte Gradienten zu ermöglichen — ohne diese Funktion kann CSS keine Interpolation zwischen Gradientenwerten durchführen:
@property --gradient-angle {
syntax: '<angle>';
initial-value: 135deg;
inherits: false;
}
@keyframes rotate-gradient {
to { --gradient-angle: 495deg; }
}
.animated {
animation: rotate-gradient 4s linear infinite;
background: linear-gradient(var(--gradient-angle), #6366f1, #8b5cf6);
}
Leistung: Wenn ein Gradient mehr kostet als ein Bild
Gradienten werden bei der Zeichnung auf der GPU rasterisiert. Für statische, einfache Gradienten ist dies leichter als ein HTTP-Request für ein Bild. Aber komplexe, geschichtete Gradienten auf häufig neu gezeichneten Elementen können zu Zeichnungsengpässen führen.
Achten Sie auf diese Muster:
- Mehr als 3–4 Gradientenschichten auf ein einzelnes Element
- Gradienten auf
position: fixedHintergründen — sie werden bei jedem Scroll-Framework neu gezeichnet - Animated Gradienten ohne
@property— diese erzwingen vollständige Neuzeichnungen anstatt komponierte Updates
Profiliere in DevTools → Leistung vor der Optimierung. Die meisten Gradientenverwendungen liegen weit entfernt von diesen Grenzen. Wenn Sie einen Engpass erreichen, konvertieren Sie zu einem vorbereiteten Bild oder wechseln zu @property-basierter Animation.
Beginnen Sie mit dem Generator, beenden Sie in Code
Der schnellste Weg zu einem funktionierenden Gradienten ist visuell: Verwenden Sie den CSS-Gradient-Generator Generator, um Ihre Farben und Positionen einzustellen, und kopieren Sie das Ergebnis in Ihre Stylesheet. Danach ermöglichen Ihnen die oben genannten Techniken — Variableextraktion, Schichtung, oklab Interpolation — eine Erweiterung in etwas, das für Produktion bereit ist, ohne zu raten.
Erweiterungen installieren
IO-Tools zu Ihrem Lieblingsbrowser hinzufügen für sofortigen Zugriff und schnellere Suche
恵 Die Anzeigetafel ist eingetroffen!
Anzeigetafel ist eine unterhaltsame Möglichkeit, Ihre Spiele zu verfolgen. Alle Daten werden in Ihrem Browser gespeichert. Weitere Funktionen folgen in Kürze!
Unverzichtbare Tools
Alle Neuheiten
AlleAktualisieren: Unser neuestes Werkzeug hinzugefügt am 17. April 2026
