CSS

Анимация загрузки, как на Facebook

Доброго времени суток! Сегодня мы рассмотрим, каким образом с помощью CSS3 можно создать анимацию загрузки, как на Facebook.

Заметка! Для работы примера, запускайте его на локальном сервере.

Для этого мы воспользуемся специальными ключевыми кадрами, которые доступны в CSS3. Также мы задействуем скрипт prefix free, который будет подставлять префиксы к CSS селекторам в зависимости от использующегося браузера.

Внимание. Данная анимация будет работать только в браузерах, поддерживающих работу ключевых кадров CSS3. Моя проверка показала, что последние версии Firefox, Chrome и Safari отлично справляются с отображением данного примера.

Код данного примера прост до безобразия, но я всё же добавил поясняющие комментарии.
<!-- Facebook Loader -->
<div class="loader">
    <div class="bar"></div>
    <div class="bar"></div>
    <div class="bar"></div>
</div>

/* FACEBOOK LOADER */
.loader { width:32px; height:32px; }
 
/* основные настройки отображения */
.bar {
    background-color:#99aaca; border:1px solid #96a6c9; float:left;
    margin-right:4px; margin-top:6px; width:6px; height:18px;
 
    /* Set the animation properties */
    animation-duration: 1s;
    animation-iteration-count: infinite;
    animation-name: loadingbar;
}
 
/* задержка анимации для второго и третьего элемента */
.loader .bar:nth-child(2) { animation-delay: 0.1s; }
.loader .bar:nth-child(3) { animation-delay: 0.2s; }
 
/* анимация */
@keyframes loadingbar {
     0% { }
    10% { margin-top:5px; height:22px; border-color:#d1d8e6; background-color:#bac5db; }
    20% { margin-top:0px; height:32px; border-color:#d1d7e2; background-color:#c6ccda; }
    30% { margin-top:1px; height:30px; border-color:#d1d8e6; background-color:#bac5db; }
    40% { margin-top:3px; height:26px; }
    50% { margin-top:5px; height:22px; }
    60% { margin-top:6px; height:18px; }
    70% { }
    /* разрыв между кадрами вызовет задержку */
    100% { }
}

Вот и всё, что нам нужно! Прошу обратить внимание, что при использовании CSS3 выражений, prefix free подставит к ним префиксы в зависимости от браузера: -webkit-, -moz- и так далее.
Теги:
Анимация загрузки, Facebook
Добавлено: 01 Мая 2018 09:51:37 Добавил: Андрей Ковальчук Нравится 0
Добавить
Комментарии:
Нету комментариев для вывода...