Анимированная шапка для лендинга — анимация для шапки на продающей странице » Techno-Co — Всё для вебмастера, для создание сайтов с нуля. {title}

Суть эффекта: при прокрутке страницы фоновое изображение в шапке становится постепенно размытым и заголовок с описанием смещается до самого низа шапки. Также при скролле вверх — анимация происходит в обратном направлении.

1 HTML структура

Для начала нам необходимо создать правильную HTML структуру:


    
    
    
        

Большой заголовок

        
Lorem ipsum dolor sit amet, consectetur adipisicing elit. Voluptate odio, asperiores aut sapiente blanditiis cupiditate harum.

Поясню:

Строка: 2 — блок с фоновым изображением без размытия.
Строка: 3 — блок с фоновым размытым изображением, который изначально не виден.
Строки: с 4 по 7 — заголовок и подробное описание, которое будет смещаться при прокрутке вниз.

Как Вы поняли из HTML структуры, нам необходимо два фоновых изображения: размытое и неразмытое.Поэтому для каждого из блоков сейчас задаем своё фоновое изображение. Стилей немного:

#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;
}

Со стилями закончили и переходим к анимации.Я использую опять же библиотеку ScrollMagic, которая позволяет создавать красивую анимацию на лендинге.Подключаем необходимые скрипты:Два первых скрипта можно не скачивать и подключить прямо из CDN:





А сейчас давайте заглянем внутрь script-sitehere.js:

$(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);
});

Ну вот и всё!

Автор урока: Юрий Немец