Generator Gradientów CSS

Twórz liniowe i radialne gradienty CSS wizualnie i kopiuj kod

Wypróbuj przykład
Typ
Kąt135°

Punkty zatrzymania

0%
100%

Wyjście CSS

background: linear-gradient(135deg, #6366f1 0%, #ec4899 100%);

Czym jest gradient CSS?

Generator gradientów CSS to wizualne narzędzie, które pomaga tworzyć płynne przejścia kolorów bez ręcznego pisania składni gradientu. W CSS gradient to płynne przejście między dwoma lub więcej kolorami, renderowane bezpośrednio przez przeglądarkę bez żadnego pliku graficznego. Specyfikacja CSS Image Module Level 4 definiuje funkcje gradientu jako typ wartości obrazu, co oznacza, że mogą pojawiać się wszędzie tam, gdzie akceptowana jest wartość background-image, list-style-image lub border-image. Ponieważ przeglądarka rasteryzuje gradienty w czasie renderowania, skalują się do dowolnej rozdzielczości i nigdy nie tworzą rozmytych artefaktów na ekranach o wysokiej gęstości pikseli. Korzystanie z generatora gradientów CSS oszczędza czas i eliminuje zgadywanie — dostosowujesz kolory i pozycje wizualnie, a następnie kopiujesz gotową regułę CSS.

CSS obsługuje trzy główne kształty gradientu: liniowy (wzdłuż prostej linii), radialny (promieniście od punktu centralnego) i stożkowy (obrót wokół punktu centralnego). Każdy kształt przyjmuje listę punktów zatrzymania kolorów, w których określasz kolor i opcjonalnie pozycję (wartość procentowa lub długość). Przeglądarka interpoluje kolory między punktami zatrzymania przy użyciu domyślnej przestrzeni barw sRGB, choć CSS Color Level 4 umożliwia określanie innych przestrzeni barw, takich jak oklch i lab, dla percepcyjnie płynniejszych przejść.

Gradienty zastępują tła oparte na obrazach w większości celów dekoracyjnych w internecie. Pojedyncza reguła CSS daje efekt, który kiedyś wymagał eksportu z Photoshopa i żądania HTTP. Są niezależne od rozdzielczości, nie wymagają żadnej przepustowości sieciowej poza samym CSS i mogą być animowane lub poddawane przejściom za pomocą standardowych właściwości CSS. Składnia gradientu jest stabilna we wszystkich głównych przeglądarkach od 2013 roku, a forma bez prefiksu działa w Chrome, Firefox, Safari i Edge bez żadnych zapasowych deklaracji.

Dlaczego warto używać tego generatora gradientów CSS?

Ręczne pisanie składni gradientu oznacza zgadywanie pozycji punktów zatrzymania, sprawdzanie wartości kątów i wielokrotne odświeżanie, aby zobaczyć efekt. Wizualny kreator pozwala oglądać gradient podczas jego tworzenia, przesuwać punkty zatrzymania metodą przeciągnij i upuść, a następnie skopiować gotowy CSS.

Podgląd na żywo
Gradient aktualizuje się w czasie rzeczywistym podczas zmiany kolorów, pozycji i kątów. Nie trzeba przełączać się między edytorem a przeglądarką.
🔒
Przetwarzanie z poszanowaniem prywatności
Całe renderowanie odbywa się w twojej przeglądarce. Żadne dane kolorów ani konfiguracje gradientów nie są wysyłane na żaden serwer.
🎨
Wiele typów gradientu
Twórz gradienty liniowe i radialne z pełną kontrolą nad kierunkiem, kątem i pozycjami punktów zatrzymania. Kopiuj CSS jednym kliknięciem.
📋
Bez zakładania konta
Otwórz stronę i zacznij tworzyć. Bez rejestracji, bez limitu użycia. Działa offline po załadowaniu strony.

Zastosowania generatora gradientów CSS

Rozwój frontendu
Twórz tła sekcji hero, nakładki na karty i stany najechania przyciskiem. Podejrzyj gradient w docelowych wymiarach, a następnie wklej CSS bezpośrednio do arkusza stylów lub konfiguracji Tailwind.
Projektowanie szablonów e-mail
Niektórzy klienci pocztowi obsługują gradienty CSS w stylach wbudowanych. Wygeneruj dokładny kod gradientu i umieść go w elemencie, z pełnym kolorem zapasowym dla klientów, które nie renderują gradientów.
Prototypowanie projektów
Gdy iterujesz nad schematami kolorów w przeglądarce zamiast w Figmie, szybko generuj gradientowe tła. Porównuj wiele opcji obok siebie bez eksportowania zasobów.
Stylizacja dashboardów DevOps
Dashboardy statusów i interfejsy monitorowania wykorzystują gradienty kolorów do reprezentowania zakresów ważności (od zielonego do czerwonego) lub gęstości danych. Wygeneruj wartości gradientu i zastosuj je do teł wykresów lub pasków statusu.
Wizualizacja danych
Biblioteki wykresów takie jak D3.js i Recharts akceptują definicje gradientów CSS do wypełnień obszarów i map cieplnych. Zbuduj gradient wizualnie, a następnie wyodrębnij kolory punktów zatrzymania do swojej funkcji skali.
Nauka CSS
Studenci uczący się CSS mogą eksperymentować ze składnią gradientu, obserwować jak zmiana kąta wpływa na kierunek i rozumieć pozycjonowanie punktów zatrzymania. Wygenerowany CSS stanowi działający przykład referencyjny.

Typy gradientów CSS — tabela referencyjna

CSS definiuje pięć funkcji gradientu. Trzy podstawowe typy (linear, radial, conic) mają każdy wariant powtarzający, który kafelkuje wzorzec. repeating-linear-gradient() i repeating-radial-gradient() są przydatne do pasiastych teł i koncentrycznych pierścieni. Wszystkie funkcje gradientu akceptują punkty zatrzymania w dowolnym formacie kolorów CSS: HEX, RGB, HSL, nazwy kolorów lub oklch. Obsługa wszystkich pięciu funkcji w przeglądarkach jest praktycznie powszechna w Chrome, Firefox, Safari i Edge — prefiksy dostawców nie są wymagane.

FunkcjaPrzykładowa składniaKierunekTypowe zastosowanie
linear-gradient()to right, #f00, #00fStraight lineBackgrounds, hero sections, progress bars
radial-gradient()circle, #f00, #00fOutward from centerSpotlight effects, buttons, badges
conic-gradient()from 0deg, #f00, #00fSweep around centerPie charts, color wheels, spinners
repeating-linearto right, #f00 0 10px, #00f 10px 20pxTiled lineStripes, progress indicators, decorative borders
repeating-radialcircle, #f00 0 10px, #00f 10px 20pxTiled circleConcentric ring patterns, retro textures

Gradienty liniowe vs radialne vs stożkowe

Każdy typ gradientu mapuje kolory na geometrię w inny sposób. Wybór właściwego typu zależy od potrzebnego efektu wizualnego, a nie od różnicy jakości między nimi. W przypadku większości teł stron i separatorów sekcji gradient liniowy jest właściwym domyślnym wyborem — jest najprostszy w rozumowaniu i najbardziej przewidywalny w elementach o różnych rozmiarach. Gradienty radialne i stożkowe najlepiej zarezerwować dla konkretnych efektów wizualnych, gdzie okrągła lub obrotowa geometria jest znacząca, a nie tylko dekoracyjna.

linear-gradient()
Kolory przechodzą wzdłuż prostej linii zdefiniowanej przez kąt (0deg = od dołu do góry, 90deg = od lewej do prawej) lub słowo kluczowe jak 'to right'. Najczęstszy typ, używany do teł, nakładek i wskaźników postępu. Obsługuje wiele punktów zatrzymania na dowolnych pozycjach.
radial-gradient()
Kolory promieniują na zewnątrz od punktu centralnego w okrąg lub elipsę. Kontroluj kształt, rozmiar i pozycję centrum za pomocą składni. Przydatne do efektów reflektorowych, winiet i okrągłych elementów interfejsu, takich jak odznaki lub obramowania awatarów.
conic-gradient()
Kolory obracają się wokół punktu centralnego jak wskazówki zegara. Kąt początkowy można skonfigurować za pomocą 'from Xdeg'. Przydatne do segmentów wykresów kołowych, kół barw i obrotowych wskaźników ładowania. Wymaga co najmniej dwóch punktów zatrzymania; powtórzenie pierwszego koloru na końcu tworzy bezszwową pętlę.

Przykłady kodu

Przykłady programowego generowania i stosowania gradientów CSS w JavaScript, Python, CSS i Go. Każdy z nich tworzy poprawne ciągi gradientu CSS, których możesz używać bezpośrednio w arkuszach stylów lub stylach wbudowanych.

JavaScript
// Generate a CSS linear-gradient string from an array of stops
function buildGradient(angle, stops) {
  const parts = stops.map(s => `${s.color} ${s.position}%`)
  return `linear-gradient(${angle}deg, ${parts.join(', ')})`
}

const stops = [
  { color: '#6366f1', position: 0 },
  { color: '#ec4899', position: 50 },
  { color: '#f59e0b', position: 100 },
]
buildGradient(90, stops)
// -> "linear-gradient(90deg, #6366f1 0%, #ec4899 50%, #f59e0b 100%)"

// Apply to an element
document.querySelector('.hero').style.background = buildGradient(135, stops)
Python
# Generate a CSS gradient string for use in templates or SVGs
def build_gradient(angle: int, stops: list[tuple[str, int]]) -> str:
    parts = [f"{color} {pos}%" for color, pos in stops]
    return f"linear-gradient({angle}deg, {', '.join(parts)})"

stops = [("#6366f1", 0), ("#ec4899", 50), ("#f59e0b", 100)]
print(build_gradient(135, stops))
# -> "linear-gradient(135deg, #6366f1 0%, #ec4899 50%, #f59e0b 100%)"

# Interpolate N colors between two endpoints
def interpolate_hex(c1: str, c2: str, steps: int) -> list[str]:
    r1, g1, b1 = int(c1[1:3], 16), int(c1[3:5], 16), int(c1[5:7], 16)
    r2, g2, b2 = int(c2[1:3], 16), int(c2[3:5], 16), int(c2[5:7], 16)
    return [
        f"#{int(r1+(r2-r1)*i/(steps-1)):02x}"
        f"{int(g1+(g2-g1)*i/(steps-1)):02x}"
        f"{int(b1+(b2-b1)*i/(steps-1)):02x}"
        for i in range(steps)
    ]

interpolate_hex("#6366f1", "#f59e0b", 4)
# -> ['#6366f1', '#9a7399', '#d18042', '#f59e0b']
CSS
/* Linear gradient — left to right */
.hero {
  background: linear-gradient(90deg, #6366f1 0%, #ec4899 50%, #f59e0b 100%);
}

/* Radial gradient — circular spotlight */
.badge {
  background: radial-gradient(circle at 30% 30%, #6366f1, #312e81);
}

/* Conic gradient — color wheel */
.wheel {
  background: conic-gradient(from 0deg, #ef4444, #f59e0b, #22c55e, #3b82f6, #8b5cf6, #ef4444);
  border-radius: 50%;
}

/* Multi-stop with transparency */
.overlay {
  background: linear-gradient(
    to bottom,
    rgba(0, 0, 0, 0) 0%,
    rgba(0, 0, 0, 0.6) 60%,
    rgba(0, 0, 0, 0.9) 100%
  );
}

/* Repeating stripes */
.stripes {
  background: repeating-linear-gradient(
    45deg,
    #6366f1 0 10px,
    transparent 10px 20px
  );
}
Go
package main

import "fmt"

// Stop represents one color stop in a gradient.
type Stop struct {
	Color    string
	Position int // percent 0-100
}

func buildGradient(angle int, stops []Stop) string {
	result := fmt.Sprintf("linear-gradient(%ddeg", angle)
	for _, s := range stops {
		result += fmt.Sprintf(", %s %d%%", s.Color, s.Position)
	}
	return result + ")"
}

func main() {
	stops := []Stop{
		{"#6366f1", 0},
		{"#ec4899", 50},
		{"#f59e0b", 100},
	}
	fmt.Println(buildGradient(135, stops))
	// -> "linear-gradient(135deg, #6366f1 0%, #ec4899 50%, #f59e0b 100%)"
}

Najczęściej zadawane pytania

Jaka jest różnica między linear-gradient a radial-gradient?
linear-gradient() tworzy przejście kolorów wzdłuż prostej linii pod określonym kątem, natomiast radial-gradient() tworzy przejście kolorów promieniście od punktu centralnego w okrąg lub elipsę. Gradienty liniowe to standardowy wybór do teł stron i nakładek. Gradienty radialne sprawdzają się lepiej w efektach reflektorowych i okrągłych elementach interfejsu.
Jak ustawić kierunek gradientu liniowego?
Użyj kąta w stopniach (np. 90deg dla kierunku lewo-prawo, 180deg dla górę-dół) lub słowa kluczowego (to right, to bottom left). Kąt obraca się zgodnie z ruchem wskazówek zegara od dołu: 0deg wskazuje w górę, 90deg wskazuje w prawo. Możesz też użyć 'to top right', aby celować w narożnik — przeglądarka oblicza dokładny kąt na podstawie proporcji elementu.
Czy mogę animować gradient CSS?
Przeglądarki nie mogą interpolować bezpośrednio między dwiema wartościami gradientu za pomocą przejść CSS. Powszechne obejścia to: animowanie background-position na zbyt dużym gradiencie, użycie @property do animowania wartości poszczególnych punktów zatrzymania jako właściwości niestandardowych lub przenikanie za pomocą opacity na pseudoelemencie. Podejście z @property (obsługiwane w Chrome i Edge od 2020 r., w Firefox od 2024 r.) jest najbardziej eleganckim rozwiązaniem.
Ile punktów zatrzymania może mieć gradient?
Specyfikacja CSS nie określa maksimum. Przeglądarki obsługują gradienty z dziesiątkami punktów zatrzymania bez problemów z wydajnością. W praktyce większość gradientów używa od 2 do 5 punktów. Każdy punkt zatrzymania może określać kolor i opcjonalną pozycję jako wartość procentową lub długość. Możesz też zdefiniować dwie pozycje na punkt zatrzymania, aby utworzyć ostre pasmo kolorów bez przejścia.
Jaka jest różnica między gradientem a obrazem?
W CSS gradient jest obliczanym obrazem. Korzysta z tego samego potoku renderowania co obrazy url() i może być używany wszędzie, gdzie dozwolona jest wartość obrazu: background-image, list-style-image, border-image i mask-image. Różnica polega na tym, że gradient jest generowany przez przeglądarkę w czasie renderowania, skaluje się do dowolnego rozmiaru bez utraty jakości i nie zwiększa wagi strony, ponieważ żaden plik nie jest pobierany.
Jak utworzyć gradient z ostrym punktem zatrzymania (bez przejścia)?
Umieść dwa punkty zatrzymania na tej samej pozycji. Na przykład linear-gradient(to right, #6366f1 50%, #ec4899 50%) tworzy ostre pęknięcie bez mieszania kolorów. Możesz też użyć składni dwupozycyjnej: linear-gradient(to right, #6366f1 0% 50%, #ec4899 50% 100%), aby jawnie zdefiniować każde pasmo.
Czy funkcja conic-gradient jest obsługiwana we wszystkich przeglądarkach?
conic-gradient() jest obsługiwana w Chrome 69+, Firefox 83+, Safari 12.1+ i Edge 79+. Według danych Can I Use globalna obsługa przekracza 95% od 2024 roku. Prefiks dostawcy nie jest potrzebny. Dla nielicznych użytkowników korzystających ze starszych przeglądarek ustaw pełny background-color jako wartość zapasową przed deklaracją gradientu.