Как анимировать текстовые градиенты и шаблоны в CSS

Как анимировать текстовые градиенты и шаблоны в CSS
Как анимировать текстовые градиенты и шаблоны в CSS
В этой статье мы покажем, как легко анимировать фоновый градиент с помощью CSS.

В предыдущей статье мы показали, как добавить эффекты градиента и узоры к тексту.

Обязательно прочтите эту статью, если вы не уверены, как мы пришли к такому результату, поскольку мы будем опираться на этот пример ниже.

Ради этой демонстрации давайте добавим несколько дополнительных цветов к нашему градиентному фону:

h1 {
  background-image: linear-gradient(
    45deg,
    #ffb3ba,
    #c49c6e,
    #bfbf76,
    #77b084,
    #ff7e74,
    #3b82f6,
    #c084fc,
    #db2777
   );
}

Если мы на мгновение отключим background-clip: text и text-color: transparent, то получим лучшее представление о том, как наш градиент заполняет поле содержимого текста.

Теперь давайте пройдемся по шагам анимации нашего фонового градиента.

Шаг 1: Настройка размера фона

Чтобы анимировать наш градиентный фон, нам нужно сделать его больше, чем поле содержимого текста, чтобы мы не могли видеть все сразу. Мы можем сделать это с помощью удобного свойства background-size. (Вы можете прочитать все о размере фона здесь.)

Я собираюсь установить ширину нашего фонового градиента в три раза больше ширины нашего элемента заголовка:

h1 {
  background-size: 300% 100%;
}

Теперь в любой момент времени будет видна только треть градиентного фона, как показано ниже.

Шаг 2: Настройка анимации

Далее мы настроим анимацию, которая будет перемещать фон, чтобы со временем мы могли видеть разные его части.

Мы можем настроить простое правило анимации следующим образом:

h1 {
  animation: gradientAnimation 8s linear infinite;
}

Это позволит перемещать фон вперед-назад каждые 16 секунд.

Далее мы настроим оператор @keyframes:

@keyframes gradientAnimation {
  0% {
    background-position: 0;
  }
  to {
    background-position: 100%;
  }
}

Эта простая @keyframes инструкция будет перемещать наш фон из верхнего левого угла в нижний правый каждые восемь секунд.

На рисунке ниже мы снова отключили background-clip: text и color: transparent, чтобы видеть, что происходит в фоновом режиме.

Как только мы снова включим background-clip: text и color: transparent, мы увидим готовый продукт.

Довольно круто!

Анимация фонового изображения

В нашей статье о добавлении эффектов градиента и узоров к тексту мы также использовали цветочное фоновое изображение.

Давайте попробуем анимировать и этот фон. Мы сделаем это немного по-другому, так как не хотим искажать фоновое изображение.

Давайте удалим background-size: contain из исходной демонстрации и вообще не будем устанавливать размер фона. Это оставляет нас с этим:

h1 {
  color: transparent;
  -webkit-background-clip: text; /* Edge, Chrome */
  background-clip: text; /* Safari, FF */
  background-image: url(floral.jpg);
  -webkit-text-stroke: 1px #7512d7;
  text-stroke: 1px #7512d7;
  animation: gradientAnimation 20s linear infinite;
  animation-direction: alternate;
}

@keyframes gradientAnimation {
  0% {
    background-position: 0;
  }
  to {
    background-position: 100%;
  }
}

Результат показан в демо-версии CodePen ниже.

Попробуйте отключить background-clip: text и text-color: transparent на мгновение, если хотите увидеть, что происходит в фоновом режиме.

Наше фоновое изображение по умолчанию повторяется, что выглядит не так уж плохо для данного конкретного изображения. (Просто из интереса попробуйте добавить background-repeat: no-repeat чтобы посмотреть, что получится без повторяющегося фона.) В других ситуациях, когда фоновое изображение не имеет хорошей мозаики, вы можете захотеть предотвратить повторение изображения, а затем использовать background-size, чтобы увеличить изображение, как мы сделали с градиентным фоном выше. Например:

h1 {
  background-repeat: no-repeat;
  background-size: 120%;
}

Вот результат этого в нашей цветочной демонстрации.

Заключение

Мы могли бы создавать гораздо более эффектные анимации, чем эта, но целью было упростить ее здесь. Вы можете углубиться в ключевые кадры и анимацию CSS. Вы также можете поиграть со временем анимации, углом наклона градиента и так далее.

Как упоминалось в предыдущей статье, получайте удовольствие от этого, но не переусердствуйте, так как слишком большая часть такого рода анимации может раздражать. Тонкий анимированный фон в заголовке может просто добавить интерес или интригу, необходимые для привлечения вашей аудитории.

Понравилась статья?
Будем признательны, если поделитесь в соцсетях или мессенджерах, а также присоединитесь к нашей группе Вконтакте. Будет интересно!

Вас может заинтересовать:

Варианты оформления поля Поиска по сайту на CSS
Варианты оформления поля Поиска по сайту на CSS
Обычное поле Поиска по сайту можно оформить более оригинально, чем просто инпут с лупой. Например, благодаря анимационным эффектам на CSS3 поле для ввода поисковой фразы можно скрыть, чтобы освободить место для другого контента...

Создание динамического пользовательского опыта с помощью интерактивной SVG анимации
Создание динамического пользовательского опыта с помощью интерактивной SVG анимации
Являясь неотъемлемой частью современных стандартов веб-дизайна, интерактивная анимированная векторная графика является фантастическим инструментом повышения удобства работы как для дизайнеров, так и для разработчиков

Разные "вкусняшки" на CSS и HTML5 для начинающих вебдизайнеров
Разные "вкусняшки" на CSS и HTML5 для начинающих вебдизайнеров
Подборка различных проектов с открытым кодом на CSS и HTML, от бордеров до слайдера, которые могут вам пригодиться при создании веб сайта.

4 свойства сетки CSS для большинства ваших потребностей в макетировании
4 свойства сетки CSS для большинства ваших потребностей в макетировании
CSS Grid предоставляет нам мощную систему верстки для веб-сайтов. То, что мы собираемся сделать сейчас, - это обратный подход, чтобы показать вам наименьший возможный набор свойств сетки, которые вам нужно знать, чтобы удовлетворить большинство ваших потребностей в макете.

Несколько примеров параллакса на CSS, которые можно использовать в своих проектах
Несколько примеров параллакса на CSS, которые можно использовать в своих проектах

Откройте для себя прокручиваемый холст, на котором элементы перемещаются с изяществом — добро пожаловать в искусство параллакса CSS.

В наше время статичные страницы на сайте уже недостаточны. Пользователи жаждут глубины, взаимодействия; сцена, в которой фон и содержание вальсируют в разном темпе...


Переливающийся текст на CSS
Переливающийся текст на CSS

Хочу поделиться с вами простым кодом с эффектами на CSS, который придаст вашему логотипу интересный эффект перелива при наведении на него курсора. Одно условие  - логотип должен быть набран шрифтом. Впрочем это может быть не логотип, а какой-то заголовок.


QRcode

2010-2024 © Веб студия iNikSite.ru (г. Подольск). Все права сохранены.

Цены на сайте носят ознакомительный характер и не являются публичной офертой! Просим уточнять цены при отправке заявки в нашу компанию. У нас действуют специальные предложения и скидки на различные варианты исполнения заказа и 100% предоплату!

Мы используем файлы cookie. Они помогают улучшить ваше взаимодействие с сайтом.