Меню выезжающее вниз при прокрутке

Здесь вы узнаете, как сделать панель навигации, выезжающую вниз при прокрутке страницы, при помощи CSS и JavaScript.


Попробовать самому »

Как сделать выезжающее вниз меню

Шаг 1) Добавляем HTML:

Создаем панель навигации:

Пример


<div id="navbar">
  <a href="#home">Главная</a>
  <a href="#news">Новости</a>
  <a href="#contact">Контакты</a>
</div>

Шаг 2) Добавляем CSS:

Создаем стили для панели навигации:

Пример


#navbar {
  background-color: #333; /* Черный цвет фона */
  position: fixed; /* Делаем меню фиксированным/прилипающим */
  top: -50px; /* Ставим меню на 50px за пределами видимости */
  width: 100%; /* Ширина на всю страницу */
  transition: top 0.3s; /* Эффект выезжания вниз (и вверх) */
}

/* Стили ссылок меню */
#navbar a {
  float: left;
  display: block;
  color: white;
  text-align: center;
  padding: 15px;
  text-decoration: none;
}

#navbar a:hover {
  background-color: #ddd;
  color: black;
}

Шаг 3) Добавляем JavaScript:

Пример


// Когда пользователь прокручивает страницу вниз на 20px от верха документа, меню выезжает
// Когда пользователь прокручивает страницу до самого верха, меню уезжает (на 50px за пределы видимости)
window.onscroll = function() {scrollFunction()};

function scrollFunction() {
  if (document.body.scrollTop > 20 || document.documentElement.scrollTop > 20) {
    document.getElementById("navbar").style.top = "0";
  } else {
    document.getElementById("navbar").style.top = "-50px";
  }
}

Попробовать самому »