Сгенерировать CSS градиент
Соберите линейный, радиальный или конический градиент с восемью точками, скопируйте CSS с запасным вариантом в sRGB и экспортируйте PNG или SVG.
Как скопировать CSS
- 1
Выберите цвета и позиции точек
Начните с двух точек и добавьте до восьми. У каждой точки есть ввод цвета и позиции в процентах, так что вы задаете точные значения, а не двигаете ползунок мышкой на глаз.
- 2
Выберите линейный, радиальный или конический
Задайте угол для линейного или конического градиента, форму и центр для радиального и укажите, повторяется ли градиент. Предпросмотр обновляется сразу.
- 3
Скопируйте CSS или скачайте PNG
CSS состоит из двух деклараций: запасного варианта в sRGB и современной интерполированной версии над ним. Тот же градиент можно экспортировать как PNG любого размера до 4096 пикс или как SVG.
Зачем интерполировать в OKLCH
Градиент от синего к желтому в обычном sRGB в середине превращается в тускло-серый. Это не баг браузера: при поканальном усреднении красного, зеленого и синего хрома в середине падает до нуля, хотя глазу там хочется увидеть чистый зеленый. OKLCH — перцептивное пространство, поэтому те же две крайние точки дают середину, которая остается насыщенной, и плавный переход с ровным ростом яркости. В современном CSS можно явно указать пространство для интерполяции — `linear-gradient(90deg in oklch, ...)`. Этот генератор по умолчанию использует именно его, а когда нужен «старый» вид, доступны oklab, sRGB и HSL.
Почему запасная строка важнее, чем кажется
Браузер, который не понимает `in oklch`, не пропускает одно незнакомое слово — он отбрасывает всю декларацию целиком. Без запасного варианта вы получите не чуть другой градиент, а никакого: проявится фон, который лежит под ним. Поэтому в скопированном CSS всегда две строки `background-image`. Первая — запасная: шестнадцать промежуточных точек, посчитанных здесь в выбранном пространстве и записанных как обычные sRGB-шестнадцатеричные значения. Они достаточно точно повторяют ту же кривую, так что разницу почти никто не заметит. Вторая — современная однострочная запись, которую поверх применит любой поддерживающий браузер.
Повторяющиеся градиенты и особенность конических
Повторяющийся градиент выкладывает один и тот же набор точек плиткой до бесконечности. Это работает только когда последняя точка стоит ниже 100% — иначе нечему повторяться, и результат не отличается от обычного градиента. Такая ситуация перехватывается до копирования. У конических градиентов есть ограничение при экспорте: в SVG 1.1 вообще нет элемента конического градиента, поэтому кнопка SVG сообщает об этом и предлагает PNG. PNG рисуется как 720 клиньев по полградуса, чтобы корректно отображаться даже в старых версиях Safari.
Все считается прямо в этой вкладке
Интерполяция цветов, текст CSS, разметка SVG и PNG создаются локально в JavaScript и canvas. Ничего о вашем градиенте не загружается на сервер, и ни одно изображение не отправляется куда-либо для отрисовки. Закройте вкладку — и ничего не останется.
Частые вопросы
Зачем интерполировать градиент в OKLCH?
Потому что интерполяция в sRGB обесцвечивает середину градиента между далекими по тону цветами и дает серую полосу. OKLCH перцептивно равномерно, поэтому середина сохраняет насыщенность, а переход по яркости выглядит ровным.
Зачем нужна запасная строка?
Браузер без поддержки синтаксиса `in <space>` выбрасывает всю декларацию, а не только неизвестную часть. Запасной вариант — это обычный sRGB-градиент, записанный первым, чтобы такие браузеры тоже получили градиент.
Как сделать повторяющийся градиент?
Включите опцию повторения и опустите последнюю точку ниже 100% — например до 20%. Тогда последовательность точек будет плиткой заполнять элемент. Если последняя точка на 100%, повторять нечего, и инструмент предупредит об этом, а не покажет без предупреждения обычный градиент.
Почему нет SVG для конического градиента?
SVG 1.1 определяет только линейные и радиальные градиенты, конического элемента нет. Эмулировать его сотнями клиньев значит получить файл, который никто не сможет редактировать, поэтому экспорт SVG для конических отключен, а вместо него предлагается PNG.
Можно ли сделать градиент, который уходит в прозрачность?
Да. Для точки, которая должна растворяться, используйте цветовую запись с альфой, например восьмизначный hex или rgba(). И CSS, и PNG сохраняют прозрачность.
В каком размере скачивать фон?
Для полноэкранного фона обычно хватает ширины 1920 пикс, а градиенты отлично сжимаются. Выше 2048 имеет смысл идти только для печати. Для веба лучше оставить CSS: он весит сотни байт и масштабируется без потерь.
Поддерживает ли Safari такие градиенты?
Safari 16.4 и новее понимают пространства интерполяции. В старых версиях применяется строка sRGB — для них она и нужна. Конические градиенты в CSS поддерживаются с Safari 12.1, а PNG-экспорт рисует их клиньями, чтобы их правильно показывали и совсем старые версии.