vasilenko.info

Генератор градиентов CSS

/tool/gradient-generator/ работает считает браузер

Остановки ставятся щелчком по полосе и двигаются мышью или стрелками, у каждой свой цвет и своя прозрачность. Чужой градиент разбирается из вставленной строки, слоёв может быть несколько, а серая середина между насыщенными цветами чинится переходом в OKLCH — с запасным вариантом для старых браузеров. Забрать можно строкой CSS, переменной, миксином SCSS, классом Tailwind, разметкой SVG или картинкой PNG. Слева настройки, справа сам градиент и готовый код: они держатся на экране, пока настройки прокручиваются, а ниже панели — примерка на текст и галерея из 56 наборов. Всё считает браузер, ничего не отправляется на сервер.

промоДвадцать лет заметок про сайтыКак это делали в 2008-м и что из этого работает сейчас.Открыть

Градиент

Слева редактор: полоса остановок, тип перехода, слои и формат выдачи. Справа — сам градиент и готовый код, они держатся на экране, пока настройки прокручиваются. Ниже панели — примерка на текст и галерея готовых наборов.

Как это устроено

Полоса остановок

Полоса — это и есть градиент. Щелчок по ней ставит остановку в этом месте, метку можно тянуть мышью, двигать стрелками на 0,5 %, с Shift — на 5 %, и убирать двойным щелчком или клавишей Delete. Ползунки ниже правят ту остановку, которая выбрана.

#1B5AD7 · #1B5AD7CC · rgb(27 90 215 / .8) · hsl(220 78% 47%) · oklch(48% .18 264) · transparent Не разобрал цвет. Пример: #1B5AD7 или rgba(27, 90, 215, .5)
100 %
0 %

Строку можно вставлять целиком из чужого CSS: с «background-image:», с точкой с запятой, с несколькими слоями через запятую. Цвета, угол, центр и остановки разложатся по редактору. Не нашёл здесь ни одного градиента.
Тип градиента
90 deg
Имеет смысл, только если последняя остановка не на 100 %: повторяется отрезок от первой до последней.
В каком пространстве смешивать
В sRGB переход между насыщенными противоположными тонами проваливается в серое. OKLab и OKLCH ведут его через равномерную светлоту, HSL — через круг тонов, как радуга.
Тот же переход, разложенный на промежуточные остановки в sRGB. Ставится строкой выше — браузер, который понимает «in oklch», перепишет её следующей строкой, а который не понимает, оставит запасную.

Слои

Слоёв может быть несколько: они уйдут в одну строку background-image через запятую. У каждого свои размер, положение и повтор — из этого и собираются полоски, клетка и сетчатые фоны.

    auto · cover · contain · 40px 40px · 50% 100% Тут ждут auto, cover, contain или пару размеров в px, % или em.
    0 0 · center · 20px 20px · 50% 50% Тут ждут center, left, top или пару координат в px, % или em.
    Повтор слоя
    Что забрать в проект
    Один и тот же градиент в шести видах — выбранный сразу лежит в панели справа. Картинку и разметку SVG браузер соберёт прямо здесь: сервер в этом не участвует.

    Останутся латиница, цифры и дефис. Пустое имя заменится на hero.
    От 16 до 4096. По умолчанию 1200 × 630 — размер картинки для соцсетей.
    Форма блока меняет и сам градиент: у линейного от неё зависит длина линии, у радиального — радиус.

    Градиент и готовый код

    styles.css готовый CSS

    Как это выглядит с текстом

    Градиент почти всегда оказывается под текстом, и там же выясняется, что заголовок на нём не читается. Контраст считается к самой светлой и к самой тёмной точке: работает только та пара, которая проходит обе.

    Наверх, к настройкам
    Что показать
    HEX, rgb(), hsl() или oklch(). Прозрачность здесь не учитывается. Не разобрал цвет текста. Пример: #FFFFFF
    Подставится во все четыре вида.
    Самая светлая точка
    Контраст текста с ней
    Самая тёмная точка
    Контраст текста с ней

    Готовые градиенты

    Пятьдесят шесть наборов: щелчок открывает их в редакторе целиком — с типом, углом, слоями и прозрачностью, и панель наверху сразу показывает новый градиент вместе с кодом. Свои складываются рядом и остаются в этом браузере.

    Наверх, к настройкам
    Набор
    Сохраняется вся сборка целиком, вместе со слоями. Лежит в памяти браузера: другой человек по ссылке этого не увидит — для пересылки есть «Ссылка на градиент».

    Сохранённые

    Считает браузер. Цвета и настройки никуда не отправляются: после загрузки страница не делает ни одного запроса. Сохранённые градиенты лежат в памяти этого браузера, на сервер они тоже не уходят.

    промоПосчитайте заодно ROIОкупаемость кампании по расходу и доходу.Открыть

    Как пользоваться

    1. Щёлкните по полосе остановок там, где нужна новая точка. Метку потом можно тянуть мышью, а с клавиатуры — стрелками: шаг 0,5 %, с Shift 5 %, Delete убирает. Что при этом выходит, видно в панели справа: она держится на экране, пока вы прокручиваете настройки.

    2. Цвет выбранной остановки правится в поле рядом: туда можно вставить #RRGGBB, восьмизначный #RRGGBBAA, rgb(), rgba(), hsl(), hwb(), oklch(), lab() или английское имя цвета. Ползунок непрозрачности задаёт альфу отдельно — где слой прозрачен, видно по шахматке: она просвечивает и в полосе остановок, и в превью.

    3. Если между двумя насыщенными цветами провалилась серая полоса, нажмите «Убрать серую середину»: переход уйдёт в OKLCH, а строкой выше останется тот же переход, разложенный в sRGB для браузеров постарше.

    4. Чужой градиент не надо разбирать руками: вставьте строку из чужого CSS в поле «Вставить чужой градиент» — вместе с background-image, точкой с запятой и несколькими слоями — и нажмите «Разобрать».

    5. Слоёв может быть до пяти. У каждого свои background-size, background-position и background-repeat: слой с размером 40 × 40 px и повтором плиткой превращает линейный градиент в полоски, а два таких слоя — в клетку.

    6. Ниже панели, в разделе «Как это выглядит с текстом», проверьте вид «Полоса-шапка» и цвет текста: контраст считается к самой светлой и к самой тёмной точке градиента, и годной парой считается только та, что проходит обе.

    7. В галерее под панелью пятьдесят шесть готовых наборов, каждый открывается в редакторе целиком. Своё сохраняется кнопкой рядом и остаётся в этом браузере.

    8. Забрать можно шестью способами: правило CSS, одна строка, CSS-переменная, миксин SCSS, класс Tailwind, разметка SVG. Вид выбирается в настройках, а готовый код лежит тут же, в панели справа. Кнопка «Скачать PNG» рисует картинку заданного размера, «Ссылка на градиент» складывает всю сборку в адрес страницы.

    промоСписок задач в браузереБез аккаунта, всё хранится на вашем устройстве.Открыть

    Формула и что в неё входит

    linear-gradient([угол] [in пространство [путь hue]], цвет положение, цвет положение, …)

    Градиент — это изображение, а не цвет. Он ставится в background-image, а не в background-color, и требует у элемента размера: у пустого блока без высоты рисовать нечего. Запасной вариант устроен на правиле каскада: два одинаковых свойства подряд, второе с «in oklch». Браузер, который эту запись не понимает, отбрасывает её целиком и остаётся на первой строке; который понимает — переписывает её второй.

    Разбор примера: почему у синего с оранжевым середина серая

    Исходные данные — те же, что стоят в полях по умолчанию: их можно пересчитать в уме и убедиться, что инструмент не врёт.

    1. В sRGB браузер смешивает цвета покомпонентно, прямо по числам записи: в середине выходит ((27+232)/2, (90+114)/2, (215+12)/2) = (130, 102, 114), то есть #826672.

    2. Посмотрим на все три цвета в OKLCH, где насыщенность — это отдельное число. Синий: oklch(50,9 % 0,202 262). Оранжевый: oklch(67,9 % 0,173 51). Середина #826672: oklch(54,2 % 0,040 351). Насыщенность просела с 0,2 до 0,04 — впятеро. Это и есть серая полоса.

    3. Так выходит потому, что синий и оранжевый лежат почти напротив друг друга на круге тонов, а прямая между ними в кубе sRGB проходит близко к серой оси — там, где все три канала примерно равны.

    4. Переход «in oklch» ведёт середину не по прямой в кубе, а по дуге между тонами: от 262° к 51° кратчайший путь идёт через 300° и 340°, а насыщенность по дороге не падает. Середина получается #C047A7 — oklch(59,5 % 0,189 337), малиновая и живая.

    5. Кнопка «Убрать серую середину» делает ровно это переключение и оставляет короткий путь по кругу тонов. Запасная строка раскладывает тот же переход на десять промежуточных остановок в sRGB: браузер без поддержки увидит почти то же самое, просто перечисленное явно.

    Насыщенность в середине перехода поднялась с 0,04 до 0,189 — в четыре с половиной раза. В выдаче две строки: сначала запасная «linear-gradient(90deg, #1b5ad7 0%, … #c047a7 50%, … #e8720c 100%)», следом настоящая «linear-gradient(90deg in oklch, #1b5ad7 0%, #e8720c 100%)». Браузер возьмёт ту, которую понимает.

    Частые вопросы

    промоВесь каталог инструментовСорок четыре штуки, все считают в браузере.Открыть

    Смежные инструменты

    5