CSS Gradient Generator

Vytvářejte lineární a radiální CSS přechody vizuálně a zkopírujte CSS kód

Zkusit příklad
Typ
Úhel135°

Zarážky barev

0%
100%

Výstup CSS

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

Co je CSS přechod?

CSS gradient generator je vizuální nástroj, který vám pomůže vytvořit plynulé přechody barev bez ručního psaní syntaxe přechodů. V CSS je přechod plynulý přechod mezi dvěma nebo více barvami, který prohlížeč vykresluje přímo bez jakéhokoli obrázkového souboru. Specifikace CSS Image Module Level 4 definuje funkce přechodů jako typ hodnoty obrázku, takže je lze použít kdekoli, kde je přijímána hodnota background-image, list-style-image nebo border-image. Protože prohlížeč rastruje přechody při vykreslování, škálují se do libovolného rozlišení a na obrazovkách s vysokou hustotou pixelů nezpůsobují rozmazané artefakty. Použití CSS gradient generatoru šetří čas a eliminuje dohady — barvy a pozice upravujete vizuálně a výsledné CSS pravidlo pak jednoduše zkopírujete.

CSS podporuje tři hlavní tvary přechodů: lineární (podél přímky), radiální (vycházející ze středového bodu) a konický (přechod kolem středového bodu). Každý tvar přijímá seznam zarážek barev, kde zadáváte barvu a volitelně pozici (procentuální hodnotu nebo délku). Prohlížeč interpoluje barvy mezi zarážkami ve výchozím nastavení v barevném prostoru sRGB, ačkoli CSS Color Level 4 umožňuje specifikovat jiné barevné prostory jako oklch a lab pro perceptuálně plynulejší přechody.

Přechody nahrazují pozadí na základě obrázků pro většinu dekorativních účelů na webu. Jediné CSS pravidlo produkuje to, co kdysi vyžadovalo export z Photoshopu a HTTP požadavek. Jsou nezávislé na rozlišení, nepotřebují žádnou síťovou šířku pásma nad rámec samotného CSS a lze je animovat nebo provádět přechod pomocí standardních CSS vlastností. Syntaxe přechodů je stabilní ve všech hlavních prohlížečích od roku 2013 a forma bez prefixů funguje v Chrome, Firefox, Safari a Edge bez záložních řešení.

Proč používat tento CSS Gradient Generator?

Psaní syntaxe přechodů ručně znamená odhadování pozic zarážek, kontrolu hodnot úhlů a opakované obnovování stránky pro zobrazení výsledku. Vizuální nástroj vám umožní vidět přechod při jeho tvorbě, upravovat zarážky přetažením a zkopírovat výsledné CSS, jakmile vypadá správně.

Živý vizuální náhled
Přechod se aktualizuje v reálném čase při změně barev, pozic a úhlů. Není třeba přepínat mezi editorem a prohlížečem.
🔒
Zpracování s důrazem na soukromí
Veškeré vykreslování probíhá ve vašem prohlížeči. Žádná data o barvách ani konfigurace přechodů nejsou odesílány na žádný server.
🎨
Více typů přechodů
Vytvářejte lineární a radiální přechody s plnou kontrolou nad směrem, úhlem a pozicemi zarážek barev. Zkopírujte CSS jediným kliknutím.
📋
Bez nutnosti účtu
Otevřete stránku a začněte tvořit. Žádná registrace, žádná emailová brána, žádné limity rychlosti. Po načtení funguje i offline.

Případy použití CSS Gradient Generatoru

Vývoj frontendu
Vytvářejte pozadí pro hero sekce, překryvy karet a stavy při najetí myší na tlačítko. Zobrazte náhled přechodu v cílových rozměrech a pak vložte CSS přímo do svého stylopisu nebo konfigurace Tailwind.
Návrh emailových šablon
Některé emailové klienty podporují CSS přechody v inline stylech. Vygenerujte přesný kód přechodu a vložte jej inline na element se záložní plnou barvou pro klienty, kteří přechody nevykreslují.
Prototypování designu
Při iteraci barevných schémat v prohlížeči místo ve Figmě rychle vytvářejte gradientní pozadí. Porovnávejte více variant vedle sebe bez exportu podkladů.
Stylování DevOps dashboardů
Stavové dashboardy a monitorovací UI používají barevné přechody k reprezentaci rozsahů závažnosti (zelená po červenou) nebo hustoty dat. Vygenerujte hodnoty přechodů a aplikujte je na pozadí grafů nebo stavové lišty.
Vizualizace dat
Knihovny grafů jako D3.js a Recharts přijímají CSS definice přechodů pro výplně ploch a heatmapy. Sestavte přechod vizuálně a pak extrahujte barvy zarážek pro svou funkci škálování.
Výuka CSS
Studenti, kteří studují CSS, mohou experimentovat se syntaxí přechodů, sledovat, jak změny úhlu ovlivňují směr, a pochopit umístění zarážek barev. Vygenerované CSS slouží jako funkční referenční příklad.

Přehled typů CSS přechodů

CSS definuje pět funkcí přechodů. Tři hlavní typy (lineární, radiální, konický) mají každý variantu s opakováním, která dláždí vzor. repeating-linear-gradient() a repeating-radial-gradient() jsou užitečné pro pruhovaná pozadí a soustředné kruhy. Všechny funkce přechodů přijímají zarážky barev v jakémkoli CSS barevném formátu: HEX, RGB, HSL, pojmenované barvy nebo oklch. Podpora ve všech pěti funkcích je prakticky univerzální v Chrome, Firefox, Safari a Edge — nejsou nutné žádné vendor prefixy.

FunkcePříklad syntaxeSměrBěžné použití
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

Lineární vs. radiální vs. konické přechody

Každý typ přechodu mapuje barvy na geometrii odlišně. Výběr správného typu závisí na vizuálním efektu, který potřebujete, nikoli na kvalitativním rozdílu mezi nimi. Pro většinu pozadí stránek a oddělovačů sekcí je lineární přechod správnou volbou — je nejjednodušší na pochopení a nejpředvídatelnější u prvků různých velikostí. Radiální a konické přechody jsou vhodnější pro specifické vizuální efekty, kde je kruhová nebo rotační geometrie věcná, nikoli jen dekorativní.

linear-gradient()
Barvy přecházejí podél přímky definované úhlem (0deg = zdola nahoru, 90deg = zleva doprava) nebo klíčovým slovem jako 'to right'. Nejběžnější typ, používaný pro pozadí, překryvy a ukazatele průběhu. Podporuje více zarážek barev na libovolných pozicích.
radial-gradient()
Barvy vyzařují od středového bodu v kruhu nebo elipse. Tvar, velikost a středovou pozici řídíte syntaxí. Vhodné pro efekty reflektoru, vignet a kruhové prvky UI jako odznaky nebo kroužky kolem avatarů.
conic-gradient()
Barvy přecházejí kolem středového bodu jako ručičky hodin. Počáteční úhel lze nastavit pomocí 'from Xdeg'. Vhodné pro výseče koláčových grafů, barevná kola a rotační indikátory načítání. Vyžaduje alespoň dvě zarážky; opakování první barvy na konci vytváří bezešvou smyčku.

Příklady kódu

Příklady generování a aplikování CSS přechodů programově v JavaScriptu, Pythonu, CSS a Go. Každý produkuje platné řetězce CSS přechodů, které lze použít přímo ve stylopisu nebo v inline stylech.

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%)"
}

Často kladené otázky

Jaký je rozdíl mezi linear-gradient a radial-gradient?
linear-gradient() přechází barvy podél přímky pod daným úhlem, zatímco radial-gradient() přechází barvy od středového bodu ven v kruhu nebo elipse. Lineární přechody jsou standardní volbou pro pozadí stránek a překryvy. Radiální přechody fungují lépe pro efekty reflektoru a kruhové prvky UI.
Jak nastavím směr lineárního přechodu?
Použijte úhel ve stupních (např. 90deg pro zleva doprava, 180deg pro shora dolů) nebo klíčové slovo (to right, to bottom left). Úhel se otáčí po směru hodinových ručiček od spodní strany: 0deg ukazuje nahoru, 90deg ukazuje doprava. Můžete také použít 'to top right' pro cílení na roh a prohlížeč vypočítá přesný úhel na základě poměru stran prvku.
Mohu animovat CSS přechod?
Prohlížeče nemohou přímo interpolovat mezi dvěma hodnotami přechodu pomocí CSS transitions. Běžná řešení jsou: animace background-position nadrozměrného přechodu, použití @property k animaci jednotlivých hodnot zarážek barev jako custom properties, nebo křížové prolínání s opacity na pseudo-elementu. Přístup s @property (podporován v Chrome a Edge od roku 2020, Firefox od roku 2024) je nejčistším řešením.
Kolik zarážek barev může přechod mít?
Specifikace CSS nestanoví maximum. Prohlížeče zpracovávají přechody s desítkami zarážek bez problémů s výkonem. V praxi většina přechodů používá 2 až 5 zarážek. Každá zarážka může specifikovat barvu a volitelnou pozici jako procentuální hodnotu nebo délku. Také lze definovat dvě pozice na zarážku pro vytvoření tvrdého barevného pruhu bez přechodu.
Jaký je rozdíl mezi přechodem a obrázkem?
V CSS je přechod vypočítaný obrázek. Sdílí stejný vykreslovací kanál jako obrázky url() a lze jej použít kdekoli, kde je platná hodnota obrázku: background-image, list-style-image, border-image a mask-image. Rozdíl spočívá v tom, že přechod je generován prohlížečem při vykreslování, škáluje se do libovolné velikosti bez ztráty kvality a nepřidává žádné bajty k váze stránky, protože se nestahuje žádný soubor.
Jak vytvořím přechod s tvrdou zarážkou barvy (bez přechodu)?
Umístěte dvě zarážky barev na stejnou pozici. Například linear-gradient(to right, #6366f1 50%, #ec4899 50%) vytvoří ostrý předěl bez míchání mezi barvami. Můžete také použít syntaxi dvou pozic: linear-gradient(to right, #6366f1 0% 50%, #ec4899 50% 100%) pro explicitní definici každého pruhu.
Je funkce conic-gradient podporována ve všech prohlížečích?
conic-gradient() je podporován v Chrome 69+, Firefox 83+, Safari 12.1+ a Edge 79+. K roku 2024 globální podpora prohlížečů přesahuje 95 % podle dat Can I Use. Není potřeba žádný vendor prefix. Pro malé procento uživatelů na starších prohlížečích nastavte plnou hodnotu background-color jako záložní řešení před deklarací přechodu.