Как создать: адаптивная нижняя навигационная панель

Узнайте, как использовать CSS и JavaScript для создания адаптивной нижней навигационной панели.

Адаптивная нижняя навигационная панель

Измените размер окна браузера, чтобы увидеть, как работает адаптивная навигационная панель:

Попробуйте сами

Создание адаптивной нижней навигационной панели

Шаг 1 - Добавление HTML:

<div class="navbar" id="myNavbar">
  <a href="#home">Дом</a>
  <a href="#news">Новости</a>
  <a href="#contact">Контакт</a>
  <a href="#about">О нас</a>
  <a href="javascript:void(0);" class="icon" onclick="myFunction()">☰</a>
</div>

Ссылки с классом "icon" используются для открытия и закрытия навигационной панели на экранах малого размера.

Шаг 2 - Добавление CSS:

/* Разместить навигационную панель в нижней части страницы и сделать её фиксированной */
.navbar {
  background-color: #333;
  overflow: hidden;
  position: fixed;
  bottom: 0;
  width: 100%;
}
/* Настройка стиля ссылок в навигационной панели */
.navbar a {
  float: left;
  display: block;
  color: #f2f2f2;
  text-align: center;
  padding: 14px 16px;
  text-decoration: none;
  font-size: 17px;
}
/* Изменить цвет ссылки при наведении мыши */
.navbar a:hover {
  background-color: #ddd;
  color: black;
}
/* Добавить зеленый цвет фона для активной ссылки */
.navbar a.active {
  background-color: #04AA6D;
  color: white;
}
/* Скрыть ссылку для открытия и закрытия навигационной панели на маленьких экранах */
.navbar .icon {
  display: none;
}

Добавьте медиазапросы:

/* При ширине экрана менее 600 пикселей скрывать все ссылки, кроме первой ("Дом"), и показать ссылку для открытия и закрытия навигационной панели (.icon) */
@media screen and (max-width: 600px) {
  .navbar a:not(:first-child) {display: none;}
  .navbar a.icon {
    float: right;
    display: block;
  }
}
/* При нажатии на иконку использовать JavaScript для добавления класса "responsive" в навигационную панель. */
Этот класс делает навигационную панель лучше видимой на små экранах (показывает ссылки вертикально, а не горизонтально) */
@media screen and (max-width: 600px) {
  .navbar.responsive a.icon {
    position: absolute;
    right: 0;
    bottom: 0;
  }
  .navbar.responsive a {
    float: none;
    display: block;
    text-align: left;
  }
}

Шаг 3 - Добавьте JavaScript:

/* При нажатии на иконку переключать добавление и удаление класса "responsive" в навигационной панели */
function myFunction() {
  var x = document.getElementById("myNavbar");
  if (x.className === "navbar") {
    x.className += " responsive";
  }
    x.className = "navbar";
  }
}

Попробуйте сами

Соответствующие страницы

Урок:CSS навигационная панель