Пресеты
Готовые к использованию строки градиентов и динамические генераторы.
Фиксированные строки градиентов
import {
sunsetGradient,
oceanGradient,
auroraGradient,
fireGradient,
midnightGradient,
peachGradient,
mintGradient,
rainbowGradient,
glowGradient,
forestGradient,
goldenHourGradient,
neonGradient,
nordicGradient,
pastelGradient,
deepSpaceGradient,
} from 'css-magic-gradient'
element.style.background = sunsetGradientsunsetGradient
Оранжевый → пурпурный, нижний правый угол.
oceanGradient
Голубой → тёмно-синий, снизу.
auroraGradient
Фиолетовый → зелёный → бирюзовый, справа.
fireGradient
Жёлтый → оранжевый → красный, сверху.
midnightGradient
Тёмный индиго → почти чёрный.
peachGradient
Нежно-розовый → тёплый оранжевый.
mintGradient
Светло-зелёный → бирюзовый.
rainbowGradient
Радуга на весь спектр, конический (24 шага).
glowGradient
Радиальное тёплое золотистое свечение.
forestGradient
Светло-зелёный → глубокий лесной зелёный.
goldenHourGradient
Тёплое золото → розовый → оранжевый.
neonGradient
Электрический зелёный → яркий розовый → яркий циан.
nordicGradient
Ледяной синий → холодный серый → почти белый.
pastelGradient
Нежная лаванда → розовый румянец → бледная мята.
deepSpaceGradient
Почти чёрный тёмно-синий → глубокий индиго → фиолетовый.
Генераторы цветовых гармоний
Используют interpolateColors / createColorScale из color-value-tools для плавных перцептивных переходов.
import {
createComplementaryGradient,
createTriadicGradient,
createAnalogousGradient,
createTetradicGradient,
createSplitComplementaryGradient,
createMonochromaticGradient,
createHueWheelGradient,
} from 'css-magic-gradient'
// Базовый цвет ↔ дополнительный, интерполяция в oklch (по умолчанию)
createComplementaryGradient('#3498db', { steps: 7, interpolationSpace: 'oklch' })
// Триадный — 3 цвета через 120°; smoothness = общее число шагов интерполяции
createTriadicGradient('#e74c3c', { smoothness: 9, interpolationSpace: 'oklab' })
// Аналоговый — spread управляет углом тона, передаваемым в analogous()
createAnalogousGradient('#2ecc71', { spread: 45, steps: 7 })
// Тетрадный — 4 цвета через 90°; поддерживает linear, radial, conic
createTetradicGradient('#9b59b6', { type: 'linear' })
createTetradicGradient('#9b59b6', { type: 'conic', steps: 24 })
createTetradicGradient('#9b59b6', { type: 'radial', interpolationSpace: 'oklch' })
// Раздельно-комплементарный — базовый + два цвета на 150° и 210°
createSplitComplementaryGradient('#3498db', { steps: 5 })
// Монохромные оттенки через colorShades()
createMonochromaticGradient('#9b59b6', 7, { direction: 'to right' })
// Конический круг тонов от любого базового цвета
createHueWheelGradient('#3498db', { steps: 16, fromAngle: 45 })HarmonyGradientOptions
direction
string · по умолчанию: 'to right'
Ключевое слово CSS-направления.
angle
number
Угол в градусах.
steps
number · по умолчанию: 5
Шаги интерполяции (3 = только опорные цвета).
interpolationSpace
'rgb' | 'hsl' | 'oklab' | 'oklch' · по умолчанию: 'oklch'
Цветовое пространство для интерполяции на стороне JS.
interpolationSpaceпротивinterpolation—interpolationSpaceуправляет тем, как JavaScript смешивает цвета при построении списка точек (черезcreateColorScale/interpolateColors).interpolationдобавляетin oklchк CSS-выводу и позволяет браузеру интерполировать между точками. Генераторы гармоний создают заранее вычисленные массивы точек, поэтому к ним применим толькоinterpolationSpace.
'lab'и'lch'намеренно отсутствуют вinterpolationSpace—createColorScaleих не поддерживает. Используйте вместо них'oklab'и'oklch'(перцептивно превосходящие преемники).
Генераторы палитр
Генерируют градиенты через оттенки, тени или тона, используя интерполяцию на основе Oklab из color-value-tools.
import { createTintGradient, createShadeGradient, createToneGradient } from 'css-magic-gradient'
// Базовый цвет → белый (через оттенки Oklab)
createTintGradient('#3498db', 7, { direction: 'to right' })
// Базовый цвет → чёрный (через тени Oklab)
createShadeGradient('#e74c3c', 5)
// Базовый цвет → серый (через тона Oklab)
createToneGradient('#9b59b6', 7, { gray: '#707070' })createTintGradient(color, steps?, opts?)
Градиент от базового цвета к белому.
createShadeGradient(color, steps?, opts?)
Градиент от базового цвета к чёрному.
createToneGradient(color, steps?, opts?)
Градиент от базового цвета к серому. Принимает опциональный цвет gray.