Одним из самых распространенных способов является фиксирование верхнего меню при прокрутке. Можно фиксировать и боковое меню, но оно должно быть при этом последнем в блоке. Когда это маленький сайт, то проблем быть не должно, однако на более-менее крупном сайте/портале добиться этого весьма проблематично. Поэтому фиксирование верхнего меню – это распространенный популярный способ при разработке сайтов. Что оно дает:
- Возможность зафиксировать всю шапку целиком вместе с телефонами, поиском, меню и логотипом.
- Повышение юзабилити, т.к. навигация всегда под рукой, а узкий блок шапки занимает мало место и не отвлекает от просмотра информации.
- Гармоничный внешний вид. Шапка, как правило, выполняется в той же стилистике что и сайт целиком, поэтому фиксирование шапки не должно отпугивать и раздражать посетителя.
Для фиксирования верхнего меню при прокрутке нам понадобится 2 составляющие: CSS и код javascript (если ваша меню прибито к самому верху экрана изначально, то можно обойтись без него).
Добавляем правила CSS для вашего меню/блока (шапки):
шапка
header{
height:120px;
}
фиксированное плавающее меню
#top_nav{
top: 120px;
position: fixed;
z-index: 999;
}
Теперь добавляем скрипт на страницу шаблона сайта или индексную страницу:
<script>
var h_hght = 120; // высота шапки
var h_mrg = 0; // отступ когда шапка уже не видна
$(function(){
$(window).scroll(function(){
var top = $(this).scrollTop();
var elem = $('#top_nav');
if (top+h_mrg < h_hght) {
elem.css('top', (h_hght-top));
} else {
elem.css('top', h_mrg);
}
});
});
</script>
Это простой пример фиксирования меню. Живой пример сайта с фиксированным меню можно посмотреть тут.