
Октябрь 29, 2019 Запись была обновлена
Анимированная шапка для лендинга — анимация для шапки на продающей странице

На прошлой неделе я писал статьи, которые связаны с эффектами при прокрутке. Потому что сейчас интерактивом на странице можно удержать посетителя и тем самым "зацепить" его. Сегодня Вы увидите также эффект при прокрутке страницы, но он будет не таким сложным, но в то же время очень красивым. Мы создадим анимированную шапку для Вашей продающей страницы.
Элементы для продающей страницы:
Суть эффекта: при прокрутке страницы фоновое изображение в шапке становится постепенно размытым и заголовок с описанием смещается до самого низа шапки. Также при скролле вверх — анимация происходит в обратном направлении.
Посмотрите на данный эффект в своем браузере:
Посмотреть примерСкачать
Из этого урока Вы узнаете как создать анимированную шапку для своей продающей страницы, но изучив мини-курс "Лендинг за 60 минут" Вы узнаете как сверстать лендинг с нуля: "Лендинг за 60 минут".
Размытое фоновое изображение выглядит следующим образом:
Как сделать анимированную шапку?
1 HTML структура
Для начала нам необходимо создать правильную HTML структуру:
1 2 3 4 5 6 7 8 | <div id="header"> <span class="bg normal"></span> <span class="bg blur" style="opacity: 0;"></span> <div class="wrap"> <h1 style="transform: matrix(1, 0, 0, 1, 0, 0);">Большой заголовок</h1> <p class="lead" style="transform: matrix(1, 0, 0, 1, 0, 0);">Здесь пример текста</p> </div> </div> |
Поясню:
- Строка: 2 — блок с фоновым изображением без размытия.
- Строка: 3 — блок с фоновым размытым изображением, который изначально не виден.
- Строки: с 4 по 7 — заголовок и подробное описание, которое будет смещаться при прокрутке вниз.
2 Стили CSS

Как Вы поняли из HTML структуры, нам необходимо два фоновых изображения: размытое и неразмытое.
Поэтому для каждого из блоков сейчас задаем своё фоновое изображение. Стилей немного:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 | #header { height: 90vh; min-height: 300px !important; position: relative; } #header:before { position: absolute; left: 0; top: 0; height: 100%; width: 100%; display: block; content: ' '; background: #000; opacity: 0.4; } #header span.bg.normal { background-image: url("../images/header-normal.jpg"); } #header span.bg.blur { background-image: url("../images/header-blur.jpg"); opacity: 0; } #header span.bg { background-color: #000; background-position: 50% 0; background-repeat: no-repeat; background-size: cover; display: block; height: 100%; left: 0; opacity: 1; position: absolute; top: 0; width: 100%; } #header .wrap { left: 50%; max-width: 800px; padding: 0 15px; position: absolute; text-align: center; top: 50%; -webkit-transform: translate(-50%, -50%); transform: translate(-50%, -50%); width: 100%; } #header h1 { color: #fff; font-size: 80px; font-weight: 900; line-height: 95px; margin: 0 0 20px; } #header p { color: #fff; font-size: 32px; font-weight: 300; line-height: 36px; } |
Со стилями закончили и переходим к анимации.
3 JS анимация

Я использую опять же библиотеку ScrollMagic, которая позволяет создавать красивую анимацию на лендинге.
Подключаем необходимые скрипты:
- ScrollMagic.min.js
- jQuery.min.js
- TweenMax.min.js
- animation.gsap.js
- script-sitehere.js — наш скрипт
Два первых скрипта можно не скачивать и подключить прямо из CDN:
1 2 3 4 5 | <script src="http://cdnjs.cloudflare.com/ajax/libs/ScrollMagic/2.0.5/ScrollMagic.min.js"></script> <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.3/jquery.min.js"></script> <script src="js/TweenMax.min.js"></script> <script src="js/animation.gsap.js"></script> <script src="js/script-sitehere.js"></script> |
А сейчас давайте заглянем внутрь script-sitehere.js:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 | $(function () { var scrollMagicController = new ScrollMagic.Controller( { globalSceneOptions: { triggerHook: 'onLeave' } } ); var topperTween = TweenMax.to('#header span.bg.blur ', 1, { opacity: 1 } ); var headingTween = TweenMax.to('#header h1, #header p', 1, { y: 200 } ); var scene = new ScrollMagic.Scene( { triggerElement: '#header', duration: '70%' } ) .setTween([topperTween, headingTween]) .addTo(scrollMagicController); }); |
Вывод
Данная анимация немного проще, чем предыдущие примеры и установить ее также гораздо проще.
Если не получается установить анимацию: возможно у кого-то не получится установить данный эффект на сайт, тогда Вы можете обратиться ко мне за помощью, предварительно записавшись на SKYPE консультацию!
Если Вам нужна своя уникальная анимация для лендинга: также Вы можете связаться со мною с помощью формы обратной связи и я создам уникальную анимацию именно для Вашего лендинга. Для этого лишь заполните данную форму: Да, мне нужна анимация для лендинга.
Успехов!
С Уважением, Юрий Немец
Спасибо за ваше обращение!
Мы свяжемся с вами в течение 2-х часов (график работы: пн-пт, с 10 до 19)