Вы наверняка видели прокручиваемую навигацию на сайтах у других людей и задавались вопросом, как самому сделать что-то подобное. Скроллинг в навигации есть на многих сайтах, и его можно воспроизвести при помощи WordPress. Дайте такое решение и вашим читателям, чтобы они могли перейти к навигационному меню из любой точки на странице. Итак, начнем...
Шаг 1. Добавляем новую область меню в functions.php
Все по порядку. Для начала надо создать новое меню, чтобы его поместить на страницу. Давайте создадим новое меню под названием topnavigation. Вот основной код, которым мы задаем наше меню в файле functions.php:
register_nav_menus( array( 'topnavigation' => __( 'Top Navigation', 'YOUR THEME NAME GOES HERE' ) ) );
Если вы уже настроили функцию register_nav_menus, добавьте строку меню 'topnavigation' к этой функции.
Шаг 2. Наполняем меню содержимым
Перейдем в панель управления, откроем вкладку меню. Создадим новое меню и назначим ему место под названием 'Top Navigation'. А затем наполним меню. Сюда можно добавить страницы Home, Store, Events и Blog — но вы можете использовать и собственные страницы:
Шаг 3. Вызываем меню
Вам нужно вызвать новое меню в главную часть основного тела статьи в файле header.php. Крайне важно, чтобы вы заключили меню внутри тега div. Назвать его можно по-своему: например, мы выбрали название для div — topnavigation. Нам надо сделать так, чтобы код двигался вместе со страницей. Используйте следующий код для header.php:
<div id="topnavigation"> <?php wp_nav_menu( array( 'theme_location' => 'topnavigation' ) ); ?> </div>
В результате выполнения этого кода должно получиться что-то вроде:
Конечно, ваша тема может отличаться от приведенной. В примере используется базовая тема underscores.me с простой сеткой из темы Get Skeleton.
Шаг 4. Немного style.css
Вот теперь мы можем перейти к стилизации. Для начала немного поработаем с CSS, чтобы придать цветовое оформление для фона, и цветовое заполнение фона должно быть 100%-ым, чтобы это не выглядело странным при прокрутке страницы.
Используйте для этой цели следующий код для style.css (или другого файла, который в вашей теме отвечает за стили оформления страниц):
#topnavigation { width: 100%; background-color: #999; }
Обновите страницу — и у вас должно получиться что-то вроде такого:
Шаг 5. Размещаем результаты
Теперь нам надо убедиться, что наши ссылки помещены в центр нашей навигационной полосы. Мы создадим навигационный элемент в меню:
<div id="topnavigation"> <nav><?php wp_nav_menu( array( 'theme_location' => 'topnavigation' ) ); ?></nav> </div>
Теперь этому элементу придаем немного оформления. Сделать это можно следующим образом:
#topnavigation nav { width: 940px; //the width of your container div might be different margin: 0 auto; } #topnavigation li { display: inline; padding: 10px; margin: 20px 0; }
Все это в результате приведет к тому, что страница будет иметь примерно следующий вид:
Шаг 6. А теперь "научим" элемент механизму прокрутки
И вот наконец мы готовы к тому, чтобы "научить" нашу навигационную панель скроллингу. Лучше всего закрепить нашу панель в верхней части окна, а затем выводить ее поверх всех остальных элементов на странице.
Обновите стиль #topnavigation:
#topnavigation { width: 100%; background-color: #999; position: fixed; //Stick it to the top of the window z-index: 1; //Make it float above all other elements height: 50px; //Gives us a reference point for the final thing }
Но если вы перезагрузите окно, вы заметите, что поскольку навигационная панель "плавает" поверх, весь остальной контент уходит под эту панель.
Чтобы исправить это, добавьте границу к верхней части контейнера div со всем остальным содержимым в нем. В моем шаблоне этот контейнер носит название #page. Вот такой код я добавил в файл CSS:
#page { padding-top: 60px; //The height of my topnavigation div plus a little bit of extra padding for visual pleasure }
И вот что получится:
И вот теперь вы сможете с легкостью перемещаться по сайту при помощи навигационной панели, а также самостоятельно подогнать стиль и оформление панели по вашему вкусу.
Комментарии к записи: 0