Как создать: сжимающуюся навигационную меню при скроллинге
- Предыдущая страница Скрыть навигационную панель при скроллинге
- Следующая страница Стicky navbar
Узнайте, как использовать CSS и JavaScript для изменения размера навигационной панели при скроллинге.
Как уменьшить навигационную панель при скроллинге
Шаг 1 - Добавьте HTML:
Создание навигационной панели:
<div id="navbar"> <a href="#default" id="logo">LogoКомпании</a> <div id="navbar-right"> <a class="active" href="#home">Дом</a> <a href="#contact">Контакт</a> <a href="#about">О нас</a> </div> </div>
Шаг 2 - Добавьте CSS:
Настройка стиля навигационной панели:
/* Создание клеящейся / фиксированной навигационной панели */ #navbar { overflow: hidden; background-color: #f1f1f1; padding: 90px 10px; /* Большой отступ, который уменьшается при скроллинге (с использованием JS) */ transition: 0.4s; /* Добавление эффекта перехода при уменьшении отступов */ position: fixed; /* Клеящаяся / фиксированная навигационная панель */ width: 100%; top: 0; /* Вверху */ z-index: 99; } /* Настройка стиля ссылок в навигационной панели */ #navbar a { float: left; color: black; text-align: center; padding: 12px; text-decoration: none; font-size: 18px; line-height: 25px; border-radius: 4px; } /* Настройка стиля логотипа */ #navbar #logo { font-size: 35px; font-weight: bold; transition: 0.4s; } /* Стиль ссылки при наведении мыши */ #navbar a:hover { background-color: #ddd; color: black; } /* Установите стиль активной/текущей ссылки */ #navbar a.active { background-color: dodgerblue; color: white; } /* Отображайте некоторые ссылки справа */ #navbar-right { float: right; } /* Добавьте адаптивность - на экранах с шириной менее 580 пикселей навигационная панель будет отображаться вертикально, а не горизонтально */ @media screen and (max-width: 580px) { #navbar { padding: 20px 10px !important; /* Используйте !important, чтобы убедиться, что JavaScript не будет перекрывать отступы на экранах малого размера */ } #navbar a { float: none; display: block; text-align: left; } #navbar-right { float: none; } }
Шаг 3 - Добавьте JavaScript:
// Когда пользователь прокручивает вниз от верха документа на 80 пикселей, изменяется отступ навигационной панели и размер шрифта логотипа window.onscroll = function() {scrollFunction()}; function scrollFunction() { if (document.body.scrollTop > 80 || document.documentElement.scrollTop > 80) { document.getElementById("navbar").style.padding = "30px 10px"; document.getElementById("logo").style.fontSize = "25px"; } document.getElementById("navbar").style.padding = "80px 10px"; document.getElementById("logo").style.fontSize = "35px"; } }
- Предыдущая страница Скрыть навигационную панель при скроллинге
- Следующая страница Стicky navbar