Снегопад на сайте
Вот уже скоро наступят новогодние праздники и рождество. Медленно падающий пушистый снег является одним из символов наступающего торжества. В данном уроке мы представим очень простую технику CSS для вывода снегопада на вашем сайте. Кроме отличного эффекта вы получите представление о работе с множественными фонами и кадрами анимации в CSS.
Примечание
Поддержка кадров анимации, к сожалению, далека от совершенства. Поэтому, если вы ищете решение, которое будет работать в большом количестве браузеров, вам следует поискать плагин jQuery, например такой. Ну а те, кто хочет расширить свои знания по CSS, могут продолжать чтение урока.
В примерах кода не будут использоваться префиксы браузеров для наглядности.
Использование фона
Нужно подготовить три изображения со снегопадом формата PNG. Пример такого изображения приведен ниже, прозрачный фон заменен черным цветом для наглядности. На нем присутствуют простые круги (можно подключить фантазию и изобразить ажурные снежинки) белого цвета на прозрачном фоне. На всех трех изображениях снежинки надо сделать разных размеров, чтобы потом создавалась иллюзия перспективы.
Данные изображения будут использоваться в качестве фона в CSS.
Применение множественного фона абсолютно идентично единичному. Разница заключается только в том, что вы ставите запятую после URL первого изображения и добавляете еще одно. Вот как будет выглядеть код. Помните, что изображения по умолчанию будут повторяться.
body { background-color: #6b92b9; background-image: url('snow1.png'), url('snow2.png'), url('snow3.png'); }
Множественные фоны отлично поддерживаются и беспокоиться стоит только о старых версиях IE. Как и все новое в CSS множественные фоны поддерживаются начиная с версии IE9.
Устанавливаем кадры анимации
@keyframes snow { 0% {background-position: 0px 0px, 0px 0px, 0px 0px;} 100% {background-position: 500px 1000px, 400px 400px, 300px 300px;} }
“@keyframes” является ключевым словом для определения последовательности кадров, “snow” - имя данной последовательности. Вы можете установить любое понравившееся имя.
Затем мы определяем два кадра анимации. Первый задает вид страницы до начала анимации, второй - после ее завершения. В начале все изображения фона помещаются в верхний левый угол страницы с помощью установки координат “0px 0px”. В конце каждое изображение будет передвинуто в новое положение. Также, как и при определении фона, координаты для каждого изображения просто разделяются запятыми.
Логика позиционирования
Положение каждого изображения в конце анимации кажется выбранным произвольно. Но в действительности все установлено преднамеренно. Чтобы заставить анимацию работать правильно нужно разобраться с несколькими моментами.
Причина, по которой выбраны кадры анимации вместо простого и лучше поддерживаемого свойства transition, заключается в том, что анимация, основанная на кадрах может повторяться бесконечно. Поэтому нужно помнить, что как только анимация закончит воспроизведение последнего кадра, она начнется снова. Если не уделить должного внимания позиционированию, то в момент перехода на экране будет виден рывок кадров.
Трюк заключается в том, чтобы установить размер изображения так, чтобы последний кадр соответствовал первому. В результате получится иллюзия бесконечного плавного движения. Второе изображение имеет размер 400px Х 400px, поэтому второй фон смещается на 400px вниз в ходе анимации. А а третий фон по томуже принципу смещается на 300px. Для первого изображения используется другой трюк. Его нужно смещать несколько быстрее, поэтому его высота удваивается (1000px). Благодаря умножению высоты на целое число, последний кадр соответствует первому.
Таким же образом смещаются изображения и по горизонтали. Создается иллюзия снегопада.
Реализация анимации
Заключительным шагом будет установка в селекторе body свойства “animation”. Первым в нем указано имя последовательности кадров "snow", затем длительность анимации 20 секунд, потом устанавливается функция времени (linear) и завершает определение бесконечного проигрывания.
body { background-color: #6b92b9; background-image: url('snow.png'), url('snow3.png'), url('snow2.png'); animation: snow 20s linear infinite; }
Готово!
Источник: http://feedproxy.google.com/~r/ruseller/CdHX/~3/rmI0ImMHZJ0/lessons.php


Дайджест новых статей по интернет-маркетингу на ваш email
Новые статьи и публикации
- 2025-03-14 » SPF-запись
- 2025-03-07 » SEO на маркетплейсах: как оптимизировать карточку товара для поисковой выдачи
- 2025-02-18 » Топ-10 бесплатных нейросетей для генерации изображений: лучшие ии генераторы 2024 года
- 2025-02-11 » Критическая уязвимость в 1С-Битрикс
- 2025-02-11 » Google Search Console: руководство для начинающих вебмастеров
- 2025-02-11 » Методы измерения результативности рекламных кампаний: плюсы и минусы
- 2025-02-11 » Тренды SEO в 2025 году
- 2025-02-10 » Свой Google в локалке. Ищем иголку в стоге сена
- 2025-01-29 » SEO — это комплексная работа. Шесть главных факторов ранжирования сайтов
- 2025-01-29 » Гайд для главной страницы e-commerce сайта: как оформить, чтобы повысить конверсию
- 2025-01-20 » Krea AI выпустила бесплатную функцию преобразования изображений в 3D-объекты — их можно вращать и вписывать в фотографии
- 2025-01-19 » Отзывы на Яндекс Картах: как пройти модерацию
- 2025-01-15 » Топ-6 лучших российских нейросетей, в которых можно генерировать тексты и изображения бесплатно и без VPN
- 2025-01-14 » 15 бесплатных способов узнать, чем интересуется ваша аудитория
- 2025-01-11 » Бездепозитные бонусы в казино за регистрацию с выводом: особенности и возможности получения
- 2025-01-09 » Новая модель LAM способна выполнять задачи в Word
- 2024-12-26 » Универсальный промпт для нейросети: как выжать максимум из ChatGPT, YandexGPT, Gemini, Claude в 2025
- 2024-11-26 » Капитан грузового судна, или Как начать использовать Docker в своих проектах
- 2024-11-26 » Обеспечение безопасности ваших веб-приложений с помощью PHP OOP и PDO
- 2024-11-22 » Ошибки в Яндекс Вебмастере: как найти и исправить
- 2024-11-22 » Ошибки в Яндекс Вебмастере: как найти и исправить
- 2024-11-15 » Перенос сайта на WordPress с одного домена на другой
- 2024-11-08 » OSPanel 6: быстрый старт
- 2024-11-08 » Как установить PhpMyAdmin в Open Server Panel
- 2024-09-30 » Как быстро запустить Laravel на Windows
- 2024-09-25 » Next.js
- 2024-09-05 » OpenAI рассказал, как запретить ChatGPT использовать содержимое сайта для обучения
- 2024-08-28 » Чек-лист: как увеличить конверсию интернет-магазина на примере спортпита
- 2024-08-01 » WebSocket
- 2024-07-26 » Интеграция с Яндекс Еда
Секрет быть несчастным: иметь время занудствовать на тему, счастлив ты или нет Шоу Джордж Бернард - (1856-1950) - английский писатель. В своем творчестве ниспровергал догматизм и предвзятость, традиционность представлений |
Мы создаем сайты, которые работают! Профессионально обслуживаем и продвигаем их , а также по всей России и ближнему зарубежью с 2006 года!
Как мы работаем
Заявка
Позвоните или оставьте заявку на сайте.
Консультация
Обсуждаем что именно Вам нужно и помогаем определить как это лучше сделать!
Договор
Заключаем договор на оказание услуг, в котором прописаны условия и обязанности обеих сторон.
Выполнение работ
Непосредственно оказание требующихся услуг и работ по вашему заданию.
Поддержка
Сдача выполненых работ, последующие корректировки и поддержка при необходимости.
Или напишите нам в WhatsApp
Или напишите нам в WhatsApp