CSS-border с анимированным градиентом | xhtml.ru
Здесь речь пойдёт о применении градиентной заливки для CSS-border и её анимации для перемещения цветов градиента вдоль границ блока.
Самый очевидный способ реализации рамки с градиентом — установить какой-либо тип CSS-градиента в качестве значения CSS-свойству border-image
:
div { border: 3em solid; border-image: linear-gradient(to right, green, yellow) 1; }
See this code CSS Gradient Border on x.xhtml.ru.
Выглядит хорошо. Можно ли теперь анимировать эту рамку, чтобы градиент перемещался по краю блока?
Чтобы анимировать градиентную заливку CSS-border, нужно с помощью настраиваемого свойства (CSS-переменной) добавить градиенту угол (--angle
) поворота, а для анимации изменять его значение в @keyframes
.
div { --angle: 0deg; /* … */ border-image: linear-gradient(var(--angle), green, yellow) 1; animation: 10s rotate linear infinite; } @keyframes rotate { to { --angle: 360deg; } }
Используя CSS-переменную, можно заставить браузер правильно автоматически изменять её значение от 0 до 360 градусов, вместо того, чтобы добавлять отдельные ключевые кадры для каждого увеличения на 1 градус. Чтобы это работало, нужно зарегистрировать настраиваемое свойство с помощью правила
@property
.
@property --angle { syntax: '<angle>'; initial-value: 0deg; inherits: false; }
Поскольку
@property
поддерживается только в Chromium, примеры ниже будут работать только в браузерах, основанных на нём. Для браузеров, которые его не поддерживают, можно добавить отдельные ключевые кадры для каждого шага, но здесь в примерах обойдёмся без усложнений.
See this code CSS Gradient Border (Animated) on x.xhtml.ru.
Хотя эффект в этом примере уже выглядит довольно красиво, если использовать более двух цветов, будут заметны конвульсии в момент перехода градиентов через углы блока. Например, такая радужная градиентная рамка:
See this code CSS Rainbow Gradient Border (Animated, Attempt 1) on x.xhtml.ru.
Лучше всего увидеть и понять, что там происходит, можно выключив заливку фона блока.
Чтобы исправить это и сделать движение плавным, сперва можно подумать об использовании радиального градиента, но на самом деле тут нужен конический градиент:
Таким образом, теперь каждый цвет градиента будет аккуратно и плавно переходить в рамку, а это приведёт к правильной плавной анимации.
div { /* … */ border-image: conic-gradient(from var(--angle), red, yellow, lime, aqua, blue, magenta, red) 1; }
Чтобы конец градиента красиво переходил в его начальный цвет, нужно в конце списка цветов повторить первый, здесь в примере это — red
.
See this code CSS Rainbow Gradient Border (Animated) on x.xhtml.ru.
Если выключить заливку фона, то можно увидеть, что border-image
растягивает каждый цвет градиента перпендикулярно своему краю, вместо обозначенного для градиента конуса. С помощью различных типов CSS-градиента, как отмечено выше, можно получить разные эффекты при перемещении цвета по границе контейнера.
Animating a CSS Gradient Border.
Создание градиентных переходов на CSS – Zencoder
Столкнулся с градиентыми переходами на psd-макете. Сразу скажу, что данная статья не претендует на полный и глубокий обзор CSS-градиентов.
Это лишь маленький практический “кусочек”, посвященный тому, как решить поставленную задачу. И еще один момент — вопрос, освященный здесь, не является таким уж сложным. Но первоочередная цель моего скромного сайта — служить записной книжкой для своего владельца. Поэтому все записи здесь можно рассматривать как вехи (milestones) в долгом пути верстальщика.
Пример с градиентным переходом на реальном psd-макете показан ниже:
Видим, что имеется градиент, который “растянут” по горизонтали. Начинается он в левой крайней точке, затем имеется плавный переход цвета в центре, и в правой крайней точке снова возврат к прежнему цвету (как в левой крайней точке). Такие переходы оттенков называются цветовыми переходами
.1
color stops
Ниже приведу наглядную картинку, чтобы было более понятно, о чем идет речь. Взята она с сайта CSS Tricks:
Цветовые переходы являются “частью” CSS-свойства
. То есть, если до этого вы привыкли создавать плавные переходы цветов (градиенты) только с помощью двух точек, которые имеют крайние положения — 1
gradient
и
, то теперь вам нужно освоить такой момент, что градиент можно создать с помощью не только двух, а много больше точек. Такие точки могут находиться не обязательно в крайних положениях, а в любом месте элемента.1
100%
Кстати, положение таких точек
можно задавать не только с помощью процентов, но и “жестко”, фиксированными величинами, такими как пиксели 1
color stops
.
Благодаря множественным цветовым переходам можно создавать красивые эффекты. Пример, показанный в самом начале, является “бледным” отражением того, на что способен CSS3. Другое дело, что на сегодняшний день браузеры поддерживают не все его возможности, но об этом немного ниже.
Итак, вернемся к градиентам на psd-макете. Мы разобрались, что из себя представляет такой цветовой переход. Осталось решить, как воплоить его в коде. Самый простой (надежный), удобный и быстрый способ — это воспользоваться замечательным online-инструментом “ColorZilla”.
Открываем его в браузере и видим изначально такую картину:
В первую очередь нас интересует центральная цветовая полоска, как на картинке вверху. Это своеобразная палитра, на которой мы будем создавать наш собственный градиент. Нижние квадратики — это графическое отображение цветовых переходов
. Можно передвигать их по горизонтали, тем самым изменяя местоположение цветового перехода в градиенте.1
color stops
Само местоположение можно задать примерно, а можно и точно — в окошке “Location”, где устанавливаются проценты. В самом квадратике отображен цвет, установленный для перехода. При щелчке мыши на нем в окошке “Color” отображается цвет самого перехода. По умолчанию имеется два
(помимо двух крайних), которые можно удалить с помощью кнопки “Delete”.1
color stops
Берем с помощью пипетки цвета градиентов с psd-макета:
и переносим их на online-генератор. Последовательно, слева направо. Для этого выбираем на панельке ColorZilla
, одинарным щелчком мыши выбираем окошко Color и в диалоговом окне (кстати, очень похожем на такое же в Photoshop) вставляем цвет. В результате получаем необходимый цветовой переход:1
stop colors
В окне “Preview” виден готовый результат, а в окне CSS — готовый CSS-код. Его можно скопировать и вставить в свой проект.
Аналогично online-генератору Colorzilla, можно воспользоваться еще одним, подобным — “CSSMatic”:
Конечно, создавать цветовые переходы с помощью CSS-кода правильно во всех отношениях. Это правильно с точки зрения семантики, с точки зрения стандартов, с точки зрения быстроты загрузки сайта. Есть только одно но — не все браузеры “успевают” за стремительным развитием стандартов. Поэтому в таких браузерах подобные красивости не будут отображаться.
Есть такой замечательный сайт под названием “What can i use” (“Что я могу использовать”), на котором можно проверить, какой браузер и какой версии поддреживает то или иной CSS-свойство. Давайте откроем его и посмотрим, как обстоит дело с нашим градиентным переходом в браузерах:
Видим, что практически во всех он будет отображаться. Кроме одного — Internet Explorer v8 и Internet Explorer v9. Так что пользователи “ослика” не увидят всех красивостей.
На этом краткая статья по градиентам окончена.
cssgradient
Как создать красивый градиент с помощью CSS | by Mahesh
Давайте начнем этот блог с признания, я написал этот подробный тред для Твиттера, потом решил превратить его в блог и загрузить сюда.
Я пишу этот блог, потому что в первые годы обучения градиенту было немного сложно. доступны различные типы градиентов, и в основном мы используем базовый линейный градиент, но этот градиент гораздо мощнее, чем вы думаете.
Здесь я расскажу обо всех основах и наиболее важных концепциях градиента.
в следующем блоге я поделюсь некоторыми реальными примерами и более продвинутым использованием градиентов.
Градиент CSS позволяет создавать плавный градиент между двумя цветами, вплоть до впечатляющего смешивания и множественных градиентов.
Градиент делает фон более привлекательным, чем сплошной цвет.
Все мы знаем об Instagram, но вы заметили, что логотип Instagram тоже градиентный?
Гениальность в простоте. ✨
В CSS есть три функции градиента.
— Линейный градиент
— Радиальный градиент
— Конический градиент
Поговорим о каждом типе подробнее.✨
Линейный градиент начинается в одной точке и изменяется по прямой до конечной точки.
Направление линейного градиента может быть вверх/вниз, влево/вправо или по диагонали.
Для создания линейного градиента необходимо определить как минимум двухцветный.
Чтобы создать самый простой градиент, вам просто нужно указать два цвета. Минимум требуется два цвета, но вы можете иметь столько цветов, сколько захотите.
Без указания угла будет считаться сверху вниз.
Пример👇
Значения «вверх», «вниз», «влево» и «вправо» используются для изменения направления.
даже мы можем использовать как горизонтальную сторону (левую или правую), так и вертикальную сторону (верхнюю или нижнюю) после «to».
Пример 👇
Мы можем использовать угловую единицу для указания направления градиента.
Значения эквивалентны —
вверх — 0 град,
вниз — 180 град,
влево — 270 град,
вправо — 90 град.
Вы также можете использовать другие угловые единицы.
Одна вещь, о которой мы пока не говорили, это «остановка цвета». Остановки цвета — это цвета, между которыми вы хотите сделать плавные переходы.
Значение остановки цвета, за которым следует одно или два необязательных положения остановки. в процентах или по длине.
Радиальный градиент начинается от центральной точки и расходится наружу к внешней конечной точке.
Прежде чем двигаться дальше, давайте обсудим некоторые ключевые термины —
— Размер
— Форма
— Положение
— color-stop (такой же, как линейный)
Давайте углубимся 👇
✔ Размер —
Размер влияет конечную форму градиента, взяв значение формы, которое вы определили, и указав градиенту, где заканчиваться.
— ближайшая сторона
— ближайший угол
— самая дальняя сторона
— самый дальний угол (по умолчанию)
Подробное объяснение 👇
✔ Форма —
Определяет форму градиента, и поскольку мы говорим о радиальных градиентах,
они ограничены круговым характером. наши формы будут между эллипсом или кругом.
✔ Позиция —
Это работает так же, как и для background-position. Таким образом, здесь будут работать такие ключевые слова, как «сверху», «справа», «слева» и «по центру». Вы даже можете использовать такую комбинацию, как «вверху по центру».
Мы также можем указать точную позицию, используя числовое значение, включая процент. По умолчанию центр по центру.
Чтобы создать самый простой градиент, вам просто нужно указать два цвета. Минимум требуется два цвета, но вы можете иметь столько цветов, сколько захотите.
Все остальные значения являются значениями по умолчанию, потому что мы просто указываем цвета.
мы уже обсуждали форму и у нас есть 2 значения эллипс или круг.
Давайте посмотрим на пример обоих 👇
мы уже обсуждали все значения размеров, давайте посмотрим одно или два значения в примере.
для лучшего понимания игры со всеми значениями.
пример 👇
Мы уже говорили о позиционировании градиента.
Радиальный градиент не обязательно должен начинаться в центре по умолчанию. Он может указать определенную точку.
пример 👇
Конический градиент имеет центральную точку в вашем прямоугольнике, начинается сверху и огибает круг на 360 градусов.
Функция conic-gradient принимает аргументы положения и угла. По умолчанию угол равен 0 градусов, который начинается сверху, в центре
Выше мы уже говорили о положении или угле, так что давайте рассмотрим несколько примеров.
👇👇
Как и в случае с линейным и радиальным градиентом, все, что нам нужно для создания конического градиента, — это два цвета.
⚡ https://gradientgenerator.com
⚡ https://cssgradient.io
⚡ https://colordesigner.io/gradient-generator
Это мой первый пост в блоге, и я хотел бы прочитать ваши отзывы а также критика.
Руководство по добавлению градиентов с помощью Tailwind CSS

Вам повезло! Недавно я экспериментировал с градиентами в Tailwind CSS и подумал, что было бы интересно написать руководство по их добавлению.
В этом блоге мы будем использовать Tailwind CSS для создания красивых градиентов фона, текста, границ и подчеркивания. Мы также рассмотрим, как анимировать градиенты в Tailwind CSS. Давайте начнем!
- Введение в CSS-градиенты Tailwind
- Как добавить линейные градиенты фона в Tailwind CSS
- Настройка CSS-градиентов Tailwind с более чем двумя точками цвета
- Добавление радиальных фоновых градиентов
- Добавление текстовых градиентов
- Как добавить градиенты границ в Tailwind CSS
- Градиент границы кнопки
- Градиент границы ввода
- Градиент границы карты
- Добавление градиентного подчеркивания
- Как анимировать градиенты в Tailwind CSS
- Анимация градиентного фона кнопки
- Анимация градиента границы ввода
- Градиент подчеркивания анимации
Введение в CSS-градиенты Tailwind
Градиенты — отличный способ добавить яркости вашим веб-сайтам. Но они больше не только для фона — мы можем добавлять градиенты к любому элементу, включая текст, границы, карточки, элементы ввода и так далее!
Перед тем, как углубиться в CSS-градиенты Tailwind и написать несколько интересных вещей, нам нужно понять основы CSS-градиентов Tailwind и то, как они работают.
Чтобы создать базовый градиент в Tailwind CSS, нам нужно использовать эти три класса Tailwind CSS:
-
bg-градиент-к-{направлению}
-
от-{цвет}
-
к-{цвет}
Давайте обсудим первый. bg-gradient-to-{direction}
определяет направление градиента. направление
может быть горизонтальным, вертикальным или диагональным.
Горизонтальный линейный градиент имеет два класса:
-
bg-gradient-to-r
: определяет горизонтальный линейный градиент (HLG) слева направо -
bg-gradient-to-l
: определяет HLG справа налево
Вертикальный линейный градиент также имеет два класса:
-
bg-gradient-to-t
: определяет вертикальный линейный градиент (VLG) снизу вверх -
bg-gradient-to-b
: определяет VLG сверху вниз
Наконец, диагональный градиент имеет четыре класса:
-
bg-gradient-to-tr
: определяет диагональный линейный градиент (DLG) снизу слева направо вверх -
bg-gradient-to-tl
: определяет DLG снизу справа вверх -
bg-gradient-to-br
: определяет DLG сверху слева вниз справа -
bg-gradient-to-bl
: определяет DLG от верхнего правого до нижнего левого
Далее у нас есть from-{color}
. Это определяет начальный цвет градиента. Мы можем использовать любой класс Tailwind CSS
color
в качестве начального цвета для градиента, например from-purple-500
.
Наконец, у нас есть to-{color}
. Это определяет конечный цвет градиента. Мы можем использовать любой класс Tailwind CSS color
в качестве конечного цвета для градиента, например to-purple-800
.
Как добавить линейные градиенты фона в Tailwind CSS
Мы узнали об основных классах CSS-градиента Tailwind. Теперь давайте воспользуемся этими знаниями для создания линейного фонового градиента.
Для начала нам понадобится контейнер div
. Давайте сначала создадим его и зададим ему высоту:
<дел>дел>
Следующее, что нам нужно сделать, это добавить фоновый градиент. Давайте добавим простой линейный градиент, указав CSS-классы from-{color}
и to-{color}
Tailwind.
В этом примере мы создадим линейный градиент от от фиолетового-600
до до синего-600
. Давайте добавим эти классы:
<дел>дел>
Далее нам нужно указать направление, используя класс bg-gradient-to-{direction}
. Это сообщает Tailwind CSS, в каком направлении он должен течь.
Более 200 000 разработчиков используют LogRocket для улучшения цифрового взаимодействия
Подробнее →
В этом примере мы хотим, чтобы поток шел слева направо, поэтому мы добавим класс bg-gradient-to-r
:
<дел>дел>
В приведенной ниже демонстрации вы должны увидеть линейный градиент фона:
См. Фоновый градиент Pen
от Rishi Purwar (@rishi111)
на CodePen.
Попробуем изменить направление градиента слева направо сверху вниз. Чтобы изменить направление, нам нужно заменить
bg-gradient-to-r на 9Класс 0186 с классом
bg-gradient-to-b
:
<дел>дел>
Вы можете видеть, что градиент теперь течет сверху вниз, а не слева направо:
См. Градиент фона пера
: сверху вниз от Риши Пурвара (@rishi111)
на CodePen.
Подсказка: если мы хотим создать эффект блеклого градиента, нам не нужно добавлять класс to-{color}
. Нам нужно использовать только bg-gradient-to-{direction}
и from-{color}
для создания эффекта выцветшего градиента в Tailwind CSS.
Настройка CSS-градиентов Tailwind с более чем двумя точками цвета
В этом разделе мы рассмотрим, как можно создавать градиенты в Tailwind CSS с более чем двумя точками цвета. Это позволяет нам делать более красочные и яркие градиенты.
До сих пор мы использовали только две точки цвета: from-{color}
и to-{color}
. Теперь, чтобы добавить третью точку цвета в наш градиент, мы будем использовать
via-{color}
вместе с классами from-{color}
и to-{color}
, чтобы добавить средний цвет.
Давайте сделаем это, используя наш предыдущий пример. Ваш код должен выглядеть так:
<дел>дел>
В этой демонстрации вы можете увидеть фоновый градиент с тремя точками цвета в действии:
См. Градиент фона пера
: более двух цветовых остановок от Риши Пурвара (@rishi111)
на CodePen.
Добавление радиальных градиентов фона
Далее мы узнаем, как добавить радиальные градиенты фона в Tailwind CSS. Как вы уже знаете, в Tailwind CSS нет прямых классов для создания радиального градиента. Вместо этого нам нужно сделать некоторую настройку, чтобы добавить его поддержку. Давайте начнем!
Первое, что нам нужно сделать, это добавить поддержку радиального градиента. Мы делаем это, расширяя свойство темы, добавляя следующий код в наш файл
tailwind.config.js
:
модуль.экспорт = { содержимое: ["./src/**/*.{js,jsx}"], тема: { продлевать: { изображение на заднем плане: { 'радиальный градиент': 'радиальный градиент (var (--tw-gradient-stops))', } } } }
Теперь мы готовы приступить к созданию нашего первого радиального фонового градиента!
Сначала скопируйте и вставьте окончательный код из последнего раздела:
<дел>дел>
Чтобы создать радиальный градиент фона, нам нужно заменить bg-gradient-to-r
классом bg-gradient-radial
, чтобы добавить радиальный градиент фона:
<дел>дел>
На изображении ниже вы можете увидеть радиальный градиент фона с тремя точками цвета:
Добавление текстовых градиентов
Текстовые градиенты — отличный способ добавить яркости вашему тексту. В этом разделе мы узнаем, как добавить текстовые градиенты в Tailwind CSS.
Для начала нам понадобится тег h2
. Давайте сначала создадим его и придадим ему базовый стиль.
Руководство по добавлению градиентов с помощью Tailwind CSS
Следующее, что нам нужно сделать, это добавить фоновый градиент к нашему тексту. Давайте добавим простой линейный градиент, указав точки цвета. Мы будем использовать те же цвета, что и в предыдущем примере, 9.0185 от фиолетового-600 через розовый-600 до синего-600 .
Далее нам нужно указать направление градиента с помощью класса bg-gradient-to-r
. Добавьте эти классы.
Руководство по добавлению градиентов с помощью Tailwind CSS
Вы должны увидеть что-то вроде этого:
Как мы видим, градиент фона применяется в качестве фона для нашего текста вместо градиента текста. Итак, как заставить его работать?
Чтобы получить желаемый эффект, нам нужно использовать CSS-класс bg-clip-text
Tailwind, который позволяет нам обрезать фон элемента. В нашем случае мы хотим обрезать фон тега
h2
, чтобы он соответствовал форме текста. Идем дальше и добавляем этот класс:
Руководство по добавлению градиентов с помощью Tailwind CSS
Здесь мы обрезали фон элемента, но не видим градиент текста. Это потому, что черный цвет текста перекрывается с фоновым градиентом. Чтобы скрыть это, нам нужно использовать text-transparent
класс, чтобы сделать цвет текста прозрачным. Идем дальше и добавляем этот класс:
Руководство по добавлению градиентов с помощью Tailwind CSS
Отлично! Вы можете увидеть текстовый градиент в действии в этой демонстрации:
См. Текстовый градиент CSS Pen
Tailwind от Rishi Purwar (@rishi111)
на CodePen.
Как добавить градиенты границ в Tailwind CSS
В этом разделе мы рассмотрим, как добавить градиенты границ в Tailwind CSS к кнопке и элементу ввода. Мы также увидим, как можно добавить градиентные границы вокруг компонента карты.
Градиент границы кнопки
Во-первых, давайте посмотрим, как мы можем добавить градиент границы к элементу кнопки. Давайте создадим кнопку с базовым стилем CSS Tailwind:
. <кнопка>
Следуй за мной
кнопка>
Затем добавьте к кнопке градиентный фон, используя классы фонового градиента, которые мы видели в предыдущих разделах:
<кнопка>
Следуй за мной
кнопка>
Кнопка должна выглядеть так:
Теперь нам нужно добавить класс bg-white
к тегу span, чтобы скрыть градиентный фон кнопки. Нам также нужно добавить отступ к элементу кнопки, чтобы создать границу вокруг тега span
. Идем дальше и добавляем эти классы:
<кнопка>
Следуй за мной
кнопка>
В этой демонстрации вы можете увидеть кнопку с градиентной рамкой:
83203125″ data-default-tab=»result» data-slug-hash=»BarWaeW» data-user=»rishi111″> См. пероКнопка CSS Tailwind с градиентом границы от Rishi Purwar (@rishi111)
на CodePen.
Градиент границы ввода
Далее мы рассмотрим, как можно добавить градиентную рамку вокруг входного тега
. Это может быть немного сложно.
Во-первых, давайте создадим ввод с базовым стилем:
<дел>