Как сделать простую циклическую анимацию фонового цвета с помощью CSS — Techstacker
Узнайте, как создать простой анимированный цикл фонового цвета с помощью чистого CSS, используя ключевые кадры и различные свойства анимации CSS.
В этом примере мы нацелены на элемент HTML непосредственно с помощью CSS, но вы можете применить следующий пример кода к любому элементу HTML, классу или идентификатору.
Код
Вы можете использовать эту демонстрацию в качестве справки.
Примечание: этот код не будет работать в IE9.
Планирование анимации
Даже если вы точно не знаете, каким должен быть ваш результат, всегда полезно иметь представление о том, в каком направлении вы движетесь. Прежде чем приступить к программированию, давайте уточним пару моментов о зацикленной анимации:
Сколько фоновых цветов мы хотим использовать?
Как долго должна длиться общая продолжительность анимации?
Какой тип анимации следует использовать?
Так как целью этого урока является простота, давайте использовать:
5 разных цветов фона
Продолжительность 10 секунд (каждый цвет отображается 2 секунды)
Линейная кривая анимации (анимация имеет одинаковую скорость от начала до конца)
Я использовал Coolers. co, чтобы быстро создать гармоничную цветовую палитру для этого примера:
Прямая ссылка на палитру Coolers
Это шестнадцатеричные цвета, через которые будет проходить наша будущая фоновая анимация:
оранжевый закат: #EE6055
средний аквамарин: #60D394
бледно-зеленый: #AAF683
нежно-желтый: #FFD97D
яркий мандарин: #FF9B85
Вам не нужно запоминать все эти названия (они взяты прямо из Coolers), я просто добавил их на всякий случай.
Хорошо, теперь у нас есть 5 цветов, которые мы собираемся добавить в зацикленную анимацию, которая отображает каждый цвет 2 секунды.
Далее мы создадим анимацию на основе нашего плана.
Создание зацикленной анимации CSS
В CSS ключевые кадры анимации работают в процентах от 0% до 100% . Добавьте в таблицу стилей следующие ключевые кадры CSS
Теперь у нас есть свойство ключевых кадров с именем backgroundColorPalette с 5 цветовыми интервалами, которые равномерно разделены от 0% до 100% анимации.
Теперь пришло время создать набор правил CSS для элемента body, чтобы мы могли взять цветовую палитру ключевых кадров и применить ее.
Добавьте следующие свойства анимации CSS в набор правил селектора тела и посмотрите, что произойдет в окне браузера:
body {
имя-анимации: backgroundColorPalette;
продолжительность анимации: 10 с;
количество итераций анимации: бесконечно;
направление анимации: альтернативное;
}
Если вы все сделали правильно, теперь у вас должна быть непрерывно работающая анимация фонового цвета, которая плавно переходит от цвета к цвету с интервалом в 2 секунды.
Код
Вы можете использовать эту демонстрацию в качестве справки.
Как работает CSS
Во-первых, мы добавляем свойство animation-name
и присваиваем ему значение backgroundColorPalette — теперь созданные ранее ключевые кадры цвета фона назначаются элементу body.
Мы используем свойство animation-duration: и присваиваем ему значение 10 с — теперь общая продолжительность нашей анимации составляет 10 секунд. Вы также можете использовать миллисекунды 10000 .
Мы используем свойство animation-iteration-count и присваиваем ему значение infinity . Это то, что делает цикл анимации непрерывным. В CSS по умолчанию используется
1 циклов анимации.
Мы используем свойство animation-direction и присваиваем ему значение альтернативный . Это заставляет анимацию воспроизводиться от начала до конца и от конца к началу. Мы используем это значение свойства, чтобы избежать уродливого прыжка, который происходит, если вы используете нормальное значение направления анимации .
Полезно знать
По умолчанию тип кривой скорости анимации CSS установлен на linear . Это означает, что нам не нужно объявлять свойство в наших наборах правил CSS, когда мы хотим его использовать. Вот почему кривая скорости анимации в нашем примере выше линейна.
Тем не менее, вы можете добавить animation-timing-function: linear; к вашему набору правил CSS, чтобы сделать ваш код более выразительным, особенно если вы работаете в команде. Трудно вспомнить, что все значения свойств включены по умолчанию в CSS.
Как зациклить видео в HTML?
Цикл HTML-видео
Цикл HTML-видео — это относительно новая функция в HTML5, которая позволяет браузерам многократно воспроизводить определенное видео в непрерывном цикле . Когда в код добавлен атрибут цикла, пользователю не нужно будет перезапускать видео вручную. Вместо этого видео будет продолжать перезапускаться после окончания, пока пользователь не приостановит его вручную или не уйдет со страницы.
Хотя функция циклического видео HTML5 еще не полностью совместима, большинство основных браузеров, таких как Chrome, Firefox, Safari и Edge, выпустили версии поддержки. Но перед публикацией веб-страницы всегда полезно протестировать видео в разных браузерах, чтобы узнать, поддерживается ли этот атрибут. Хотя продолжительность зацикленного видео не ограничена, лучше использовать эту функцию только для более коротких видео, чтобы не мешать работе пользователя и не вызывать ненужной потери данных.
Фрагмент кода
Вот пример того, как подготовить код для зацикливания видео:
<цикл управления видео>
Источник
Вот подробное описание кода:
Атрибут loop добавляется к основному тегу
Тег
Тег — это базовый элемент HTML5, который позволяет пользователям вставлять видеоконтент на любую веб-страницу.
Атрибут Controls предоставляет пользователям специальные средства управления воспроизведением видео. С помощью этой функции пользователи могут воспроизводить, приостанавливать и увеличивать/уменьшать громкость видео.
Тег используется для определения URL-адреса или пути к файлу. Атрибут типа , связанный с источник определяет формат встроенного видео.
Иногда рекомендуется использовать атрибут loop в качестве дополнения к атрибуту preload . Это гарантирует, что видео загружается плавно, без каких-либо проблем или задержек. Если вы установите для атрибута preload значение « auto » , браузер будет вынужден предварительно загружать видеоданные при загрузке страницы. Это может значительно уменьшить буферизацию и обеспечить плавное воспроизведение видео.
Вот пример использования атрибута preload в коде:
Ваш браузер не поддерживает видео тег.
Поддержка и совместимость браузеров
Большинство браузеров, особенно последних версий, совместимы с атрибутом loop . Вот список самых ранних версий браузеров, поддерживающих эту функцию HTML5:
Браузер
Хром
Край
Фаерфокс
Сафари
Опера
Версия
4,0
9,0
11,0
3,1
11,5
Использование
Несмотря на то, что это относительно новый атрибут, за последние несколько лет функция повторного воспроизведения видео приобрела значительную популярность. Теперь разные веб-сайты зацикливают видео на своих веб-сайтах для разных целей. Вот список распространенных применений функции зацикливания HTML-видео:
Фоновое видео — Многие веб-сайты размещают фоновое видео для повышения своей эстетической привлекательности. В таком случае может быть полезно использование функции повторного воспроизведения видео. Например, веб-сайт туристической компании может использовать кадр пляжа в качестве фона с помощью функции циклического воспроизведения фонового видео в формате HTML. Зацикливая это видео, клиенты будут продолжать видеть фрагмент прекрасного пляжа, создавая для них теплую и захватывающую атмосферу.
Рекламные видео — Видеобаннеры и другие рекламные объявления могут быть зациклены на веб-странице для продвижения конкретной компании, ее продуктов или услуг. Например, такие бренды, как Nike и Adidas, часто зацикливают видеоролики с участием суперзвезд спортсменов, связанных с ними, для продвижения своей линейки продуктов.
Интерактивные видеоролики — Интерактивные видеоролики помогают пользователям получить более захватывающий опыт покупок на определенных веб-сайтах. В большинстве случаев использование функции повтора для таких видео является обязательным, поскольку они всегда должны быть доступны пользователю. Например, автосалоны могут отображать зацикленное видео о вождении автомобиля, где пользователи могут нажимать на различные части автомобиля, чтобы получить дополнительную информацию о технических характеристиках.
Обучающие видео — Обучающие видео часто повторяются на разных веб-страницах. Возможно, вы видели музеи, где определенные информационные видеоролики зацикливаются, чтобы посетители могли увидеть и узнать больше о конкретных темах.
Окружающие видео — Иногда атмосферные и окружающие элементы используются для повышения визуальной эстетики веб-страницы. Эти видеоролики зациклены для создания эффекта, соответствующего теме веб-сайта.
Цикл HTML-видео не работает?
Если функция повтора видео не работает, выполните следующие действия по устранению неполадок:
Проверьте поддержку браузера: Не все браузеры поддерживают атрибут цикла . Убедитесь, что вы используете последнюю версию основных браузеров, совместимых с новыми атрибутами HTML5.
Перепроверьте формат видео: Функция цикла может не работать, если браузер не поддерживает формат видео. Например, не все браузеры совместимы с определенными видеокодеками.
Диагностика видеофайлов: Проверьте видеофайл, который необходимо внедрить. Он не будет работать на любой веб-странице, если она повреждена или повреждена. Один из способов сделать это — проверить, нормально ли воспроизводится видео локально.
Проверить наличие ошибок: Загляните в консоль браузера, чтобы узнать, нет ли ошибок, связанных с видео.
Проверьте совместимость с различными атрибутами: Другие атрибуты в теге могут мешать работе петля атрибут.