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

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

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

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

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

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

第一步 - Добавить HTML:

<!-- Загрузить библиотеку иконок для отображения меню-гамбургера (строчки) на маленьких экранах -->
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css">
<div class="topnav" id="myTopnav">
  <a href="#home" class="active">Дом</a>
  <a href="#news">Новости</a>
  <a href="#contact">Контакт</a>
  <a href="#about">О нас</a>
  <a href="javascript:void(0);" class="icon" onclick="myFunction()">
    <i class="fa fa-bars"></i>
  </a>
</div>

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

第二步 - Добавить CSS:

/* Добавить черный цвет фона в верхнюю навигационную панель */
.topnav {
  цвет фона: #333;
  превышение: скрыто;
}
/* Установить стиль ссылок в навигационной панели */
.topnav a {
  плавающий: слева;
  display: block;
  цвет: #f2f2f2;
  текст-выравнивание: по центру;
  отступ: 14px 16px;
  text-decoration: none;
  font-size: 17px;
}
/* Изменить цвет ссылки при наведении мыши */
.topnav a:hover {
  background-color: #ddd;
  color: black;
}
/* Добавить класс активности для выделения текущей страницы */
.topnav a.active {
  background-color: #04AA6D;
  color: white;
}
/* Скрыть ссылку для открытия и закрытия верхнего навигатора на маленьких экранах */
.topnav .icon {
  display: none;
}

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

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

Третий шаг - добавить JavaScript:

/* При нажатии на иконку, переключение добавления и удаления класса "responsive" в topnav */
function myFunction() {
  var x = document.getElementById("myTopnav");
  if (x.className === "topnav") {
    x.className += " responsive";
  }
    x.className = "topnav";
  }
}

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

Связанные страницы

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