CSS - Селекторы
Полное руководство, в котором описаны все возможные способы выбора элементов в CSS и их применения для стилизации.
В этой статье мы покажем, как легко анимировать фоновый градиент с помощью CSS.
В предыдущей статье мы показали, как добавить эффекты градиента и узоры к тексту.
Обязательно прочтите эту статью, если вы не уверены, как мы пришли к такому результату, поскольку мы будем опираться на этот пример ниже.
Ради этой демонстрации давайте добавим несколько дополнительных цветов к нашему градиентному фону:
h1 {
background-image: linear-gradient(
45deg,
#ffb3ba,
#c49c6e,
#bfbf76,
#77b084,
#ff7e74,
#3b82f6,
#c084fc,
#db2777
);
}
Если мы на мгновение отключим background-clip: text и text-color: transparent, то получим лучшее представление о том, как наш градиент заполняет поле содержимого текста.
Теперь давайте пройдемся по шагам анимации нашего фонового градиента.
Чтобы анимировать наш градиентный фон, нам нужно сделать его больше, чем поле содержимого текста, чтобы мы не могли видеть все сразу. Мы можем сделать это с помощью удобного свойства background-size. (Вы можете прочитать все о размере фона здесь.)
Я собираюсь установить ширину нашего фонового градиента в три раза больше ширины нашего элемента заголовка:
h1 {
background-size: 300% 100%;
}
Теперь в любой момент времени будет видна только треть градиентного фона, как показано ниже.
Далее мы настроим анимацию, которая будет перемещать фон, чтобы со временем мы могли видеть разные его части.
Мы можем настроить простое правило анимации следующим образом:
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. Вы также можете поиграть со временем анимации, углом наклона градиента и так далее.
Как упоминалось в предыдущей статье, получайте удовольствие от этого, но не переусердствуйте, так как слишком большая часть такого рода анимации может раздражать. Тонкий анимированный фон в заголовке может просто добавить интерес или интригу, необходимые для привлечения вашей аудитории.
Если у вас есть вопросы по статье или нужна помощь в создании сайта, пишите нам в чат на сайте или Вконтакте. Не забудьте оставить свой e-mail и мы ответим в самое ближайшее время.Другие статьи по теме:
Полное руководство, в котором описаны все возможные способы выбора элементов в CSS и их применения для стилизации.
Такие указатели чаще всего применяют на первом экране Главной страницы сайта, когда на ней размещена полноэкранная картинка, видео или слайдер. Чтобы показать Пользователю, что основной контент расположен ниже, в нижней части экрана размещают стрелку, направленную вниз. Чтобы привлечь к ней дополнительное внимание, её делаю анимационный...
Хотим поделиться с вами несколькими CSS трюками, которые вам точно пригодятся при создании сайтов. Они позволят вам без использования Javascript создать анимацию и эффекты.
clip-path в CSS позволяет указать конкретную область элемента для отображения, а остальная часть скрыта (или “обрезана”)...В этой статье мы покажем, как легко добавить эффекты градиента и узоры к тексту на веб-странице.