Zero-блок в Tilda: анимация лендинга
Рассказываем об основных принципах анимации Zero-блока, эффектах и настройках каждой функции.
![](https://248006.selcdn.ru/main/iblock/33f/33fa362d35b9eb78dd490e52e52b3e06/5e25d8e81430151222ad434de7929b3a.png)
![](https://248006.selcdn.ru/main/iblock/33f/33fa362d35b9eb78dd490e52e52b3e06/5e25d8e81430151222ad434de7929b3a.png)
Иллюстрация: Оля Ежак для Skillbox Media
Анимация — инструмент дизайнера, который помогает подчеркнуть важную деталь, добиться нужного настроения или сделать интерфейс сайта приятнее. Вы сможете воспользоваться им и в Tilda — в редакторе Zero-блока.
Рассказываем, как сделать анимированные элементы сайта на Tilda, и показываем, как с их помощью скопировать этот лендинг о Вьетнаме.
Это инструкция о продвинутой работе в Tilda. Если вы ещё ей не пользовались, советуем прочитать предыдущие статьи об этом конструкторе сайтов:
Перед началом работы зайдите в Tilda и создайте новую страницу с Zero-блоком. Высоту укажите 10 000 пикселей — этого достаточно, чтобы протестировать самые крутые анимационные эффекты и целиком сверстать лонгрид.
Структура лонгрида
Сайт состоит из пяти частей:
1. Главный экран. На нём используется эффект фиксированной анимации, анимация параллакса и цикличная анимация элементов логотипа в углу.
![](/upload/setka_images/08574025112021_67577da4d8977ebae7bbc26fe09eaca85147b425.gif)
2. Экран с текстом и фотографиями, которые фиксируются во время скролла.
![](/upload/setka_images/08583525112021_f622bbba013d150bb02a32dc0c82a22b1a5101f6.gif)
3. Экран с декоративным текстом и фотографиями. При скролле все элементы появляются с разных сторон экрана.
![](/upload/setka_images/08590625112021_08b05e7a793ee96c87ad6538ed513e45f4ce5704.gif)
4. Блок фотографий и фонового текста.
![](/upload/setka_images/11100825112021_569ee811e2e953ad34debe3eae91f5216b15ccad.gif)
5. Заключительный экран с блоком фотографий и эффектом параллакса.
![](/upload/setka_images/13311025112021_4f0ea9819ab1d23f8f22d44b23d72cd9272cf849.gif)
Меню
Чтобы при скролле меню было всегда доступно, нужно зафиксировать его в верхней части экрана:
- Выделите нужный элемент — плашку, на которой находятся пункты меню.
- Перейдите в панель настроек и в блоке Basic animation («Базовая анимация») найдите свойство Fixing («Фиксация»).
- В появившемся меню выберите On window top («По верху окна»).
- В пункте Distance («Дистанция») укажите значение в 10 000 px, чтобы меню было видно в любой точке страницы.
![](/upload/setka_images/09035925112021_acb3891951eada938d821fe8c18ea10c2884033f.jpg)
Проверьте результат в предпросмотре — сохраните свою работу, закройте редактор Zero-блока и нажмите кнопку «Предпросмотр». При скролле плашка должна зафиксироваться в верхней части страницы. Текст вместе с ней пока не залипает — это нормально:
![](/upload/setka_images/09055725112021_a12f132fe2d37d18eb194909fee55aca4963e78c.gif)
Вернитесь в редактор Zero-блока и повторите все действия с каждым пунктом меню: укажите нужную фиксацию и высоту. Для начала проверьте, как будет себя вести кнопка Home:
![](/upload/setka_images/09075025112021_a2347bf28c93e685da00d1d4729a124895287927.gif)
Сейчас она влипает в верхний край окна. Чтобы это исправить, в настройках базовой анимации укажите Trigger offset («Отступ») — 30 пикселей. То же самое сделайте и с логотипом, только вместо 30 укажите 10 пикселей.
![](/upload/setka_images/09092925112021_174dab7e39076657c683b5ce7334147bbc186e9b.jpg)
Укажите Trigger offset у всех пунктов меню, чтобы они встали где нужно:
![](/upload/setka_images/09100725112021_600c921c37135fd9f269be82e65e11f5f1acd6d8.gif)
Параллакс-анимация
Параллакс-анимация довольно проста в настройках и имеет всего несколько параметров. Чтобы понять, как технически работает этот эффект, попробуйте сделать его с помощью свойства Mouse («Отклик на курсор»). Выберите его в пункте Basic animation и выставьте любые значения по осям X и Y:
![](/upload/setka_images/09115325112021_f1dba46f5eb3018402b190ecf8fd0ee8a8f3b6eb.jpg)
Скорее всего, анимация у вас будет работать не так, как вы ожидали:
![](/upload/setka_images/13312525112021_2a459dc0c062d2ea260953b957c2f47b0c0f2ff7.gif)
Координаты осей X и Y задаются относительно курсора мыши, и объекты смещаются относительно его положения.
Для лонгрида больше подходит Scroll — объекты будут смещаться при скролле страницы. Настройка у Scroll всего одна — скорость, которая по умолчанию равна 100. Чем больше это значение, тем быстрее смещаются объекты. Для примера рекомендуем выбирать между 50 до 200.
![](/upload/setka_images/09132425112021_6ed0b04ccb1af0573cd045b2bd21a60938919582.jpg)
У каждого объекта укажите разную скорость, чтобы анимация выглядела интереснее. У самой верхней иллюстрации укажите 150, у следующей 80, а у заголовка — 200:
![](/upload/setka_images/09153725112021_00ef4ecbef33723c9293d85ddb5e396ecc049496.jpg)
Заголовок будет догонять верхнюю фотографию, наезжая на нижнюю, а нижняя фотография, наоборот, поедет навстречу заголовку — за счёт этого будет казаться, что объекты находятся в разных плоскостях:
![](/upload/setka_images/09162725112021_7e2fb2c666710d4e57dc71289e1cd3b9e352b001.gif)
Фиксирование картинки
Иногда на сайтах-блогах используют интересный приём — при скроллировании текст проматывается, а тематическая картинка остаётся на протяжении всего текста, таким образом вы можете привязывать суть прочитанного к визуальному образу.
![](/upload/setka_images/09172325112021_f528ab9bbbda8b50f55de427087ebf76750e63eb.gif)
Чтобы это сделать, воспользуйтесь фиксацией блока, как вы уже сделали с меню: Fixing → On window top.
Картинка не должна влипать в меню, поэтому нужно указать ей дополнительный вертикальный отступ. Чтобы понять, какой именно нужен отступ, посмотрите на высоту плашки меню и прибавьте к ней 18. В нашем случае высота плашки равна 82 пикселям, значит, отступ у иллюстрации должен равняться 100:
![](/upload/setka_images/09174725112021_accf102caaa970ce65d217b9ae9a8e9a57caa67c.jpg)
Укажите получившееся число в блоке Trigger offset в пункте Basic animation:
![](/upload/setka_images/09183325112021_f97d5b11e515b18d5d5295783fdc805222e4f88c.jpg)
Также нужно указать дистанцию, чтобы иллюстрация была видна только напротив своего текста. Для этого нужно вычислить высоту текстового блока. Самый простой способ — скачать плагин Page Rulers Redux для Google Chrome и измерить расстояние от нижней границы иллюстрации до нижней границы текста:
![](/upload/setka_images/09185725112021_71b97f3681cfd481f98f8279e17d064ae63ea66a.jpg)
Получившееся число впишите в свойство Distance на панели настроек. В нашем случае это 830 пикселей.
![](/upload/setka_images/09195425112021_b96f49b701f581862428f9c58e1a46c731d0aa89.jpg)
В результате картинка будет привязана к тексту:
![](/upload/setka_images/09203425112021_5c9ecb8932c535703bf7c1ea3af4f83b6cee1dd9.gif)
Анимация из иллюстраций и текста
Следующий блок на сайте состоит из пошаговой анимации — при скролле все элементы выезжают из разных сторон:
![](/upload/setka_images/09214025112021_96e1c0413e0ceca0aef4fd7d0efed1fbc3b5bca3.gif)
Чтобы её настроить, воспользуйтесь блоком настроек Step-by-step animation.
1. Нажмите кнопку Add («Добавить»).
![](/upload/setka_images/09220525112021_5d2552f3c147808bd3c9149b748f69964400c85d.jpg)
2. В появившемся списке выберите событие, при котором будет работать анимация, например On scroll, чтобы анимация работала при скролле страницы.
![](/upload/setka_images/09231225112021_b2d44a98fb0ab389c6e9b7d88859ec7c32c16caa.jpg)
3. Текст при скролле должен перемещаться от правого края экрана к левому. Чтобы это настроить, нажмите на кнопку Add step («Добавить шаг») и передвиньте текстовую строку влево.
![](/upload/setka_images/09232825112021_12742049cfec34d8c30d4ce9b526e047c04b5ef2.jpg)
4. Проверьте результат. У текста появится анимация.
![](/upload/setka_images/09253925112021_b1f5fb33da8f50f319a53de56ac6374150b960ea.gif)
5. Сейчас это не совсем то, что нужно, так как текст улетает наверх. Чтобы это исправить, в строке Distance укажите 4000 пикселей — этого достаточно, чтобы оценить эффект анимации движения текста.
![](/upload/setka_images/09255925112021_bc78e3f14aabf775bc22b07e8f2104e7a13c1f14.jpg)
![](/upload/setka_images/09271925112021_260f8cbe927ce669a193b70012fa56db4bc34e37.gif)
6. В пункте Fix панели настроек пошаговой анимации выберите Fixed, чтобы строка не уезжала вверх.
![](/upload/setka_images/09265425112021_c0c954a3a268bfc515e88839a41a25de5bd1b194.jpg)
7. По желанию настройте Opacity («Прозрачность»), Rotate («Поворот»), Delay («Задержку») или укажите точные координаты объекта.
![](/upload/setka_images/09275725112021_01c985b720c9d485c3202f0fd3f67804db43c17c.jpg)
8. Укажите прозрачность 0, чтобы текст в конце плавно исчез. Проверьте страницу:
![](/upload/setka_images/09291725112021_3374e8b2f08842e905791b5060f4efcfc1dca96b.gif)
9. Сейчас текст движется над блоком меню. Чтобы это исправить, укажите Trigger offset на 200 пикселей:
![](/upload/setka_images/09302025112021_b30ff17d14b759c017197570526ff51b33cc83c5.jpg)
![](/upload/setka_images/09290925112021_771fa259d2ea3cd094a447c5b37edbed40ed7668.gif)
Остальные текстовые строки и иллюстрации из примера работают по тому же принципу — настраивайте в Step-by-step animation новые шаги, указывайте нужную дистанцию, фиксируйте объект и задавайте ему отступ сверху. Заголовки на фоне — это базовая анимация с параллаксом. В результате у вас получится похожий блок:
![](/upload/setka_images/13314125112021_fce4e3758537a3e1df0ce1598c144b4c13e66cb3.gif)
Обратите внимание на скорости этих трёх фотографий. Стандартное значение скорости на снимке слева — 100, на среднем — 150 и на изображении справа — 200:
![](/upload/setka_images/09331025112021_abbbcb87dbb97ea96d80403beb845adefcc13827.gif)
Анимация логотипа
Логотип состоит из трёх частей: текста и двух стандартных шейпов жёлтого и зелёного цвета:
![](/upload/setka_images/09334825112021_a0874259004d0182e45401d19a893dac69532d97.gif)
Чтобы сделать такие же квадраты, у них нужно убрать заливку и добавить обводку:
1. Создайте шейп — нажмите на иконку + в левом верхнем углу и в выпадающем меню выберите Add shape.
2. У появившегося квадрата добавьте жёлтую обводку толщиной в 2 пикселя. В пункте BG color выделите цифровой код цвета и удалите его. По тому же принципу настройте зелёный квадрат.
![](/upload/setka_images/09360825112021_d5f448b1d45447906b1518b24eb2cf2b32fb1aed.gif)
3. Выделите жёлтый квадрат, в настройках Step-by-step добавьте шаг и настройте параметры Duration («Продолжительность») на 2,5 секунды, Rotate («Поворот») на 360 градусов и любое значение Easing («Смягчение»), чтобы конец и начало не обрывались резко.
![](/upload/setka_images/09363725112021_178ae943fb180dbd85da113c997e71d410f43eb6.jpg)
4. Протестируйте анимацию — в редакторе нажмите Play element. Имейте в виду, что анимацию на скролл вы так проверить не сможете.
![](/upload/setka_images/09374925112021_9f4177150537e15f4549b4114125e7b7fd1ba2c4.gif)
5. Чтобы анимация повторялась бесконечно, в настройках анимации в пункте Loop укажите Loop.
![](/upload/setka_images/09385825112021_2c5403f1cd9ee1933cf532496fafb2ce478e0387.jpg)
6. Сделайте то же самое с зелёным квадратом и проверьте результат, нажав кнопку Play all.
![](/upload/setka_images/09385825112021_e7daefdafb3e9d93e531e239baf0d822184f55a2.gif)
Анимация фотографий
В последнем блоке фотографии плавно появляются одна за другой при скролле. Этот эффект выглядит интересно, и его можно сделать за пару кликов:
![](/upload/setka_images/09411925112021_c1fca014de5399f03f61425b5c5f0c162c33034d.gif)
1. В настройках Basic animation в выпадающем списке Animation выберите нужный эффект. В нашем случае — Zoom in.
![](/upload/setka_images/09415025112021_a7f41f7e241a23287e43cf7b32196328f3ee98f4.jpg)
2. Затем повторите настройки каждой иллюстрации, как на демонстрации ниже:
![](/upload/setka_images/13315525112021_674c99194306ab13565d5226705d246626c31fe5.gif)
3. Как и в предыдущих экранах, настройте продолжительность анимации, задержку, размер точки появления и отступ:
![](/upload/setka_images/09430825112021_08fda0244b5397e030ee401fd2bea5b24f78a72b.jpg)
Для одного объекта одновременно нельзя использовать и Basic animation, и Step-by-step animation — это особенность редактора.
Проверьте свою работу и сравните её с оригиналом:
![](/upload/setka_images/13320625112021_534d06d45640a4e7ff7751d3bee9fe99cda6f0b3.gif)