Создаем фиксированное навигационное меню | HTML/xHTML
0 ∞Фиксированное навигационное меню часто называют «липким» меню, потому как его суть, помимо самой навигации, состоит в том, что оно всегда остается в одном положении на странице, независимо от скроллинга пользователя.
Это довольно распространенная практика, когда в шаблонной навигации по сайту используется подобный вариант исполнения меню, да и не только меню.
Строка поиска, кнопки социальных сетей, всевозможные уведомления. Подобный шаблон гарантирует, что наиболее важные элементы сайта будут находиться в легкодоступном месте независимо от того, где именно на странице в данный момент находится посетитель.
В этой статье я покажу вам простой CSS-прием для внедрения в сайт горизонтального «липкого» навигационного меню.
- Примеры
- Создание фиксированной навигационной панели
- HTML
- CSS
- Примечание
- Подводя итоги
Прежде чем начать, мы взглянем на несколько сайтов, которые уже используют фиксированные навигационные панели, просто для того, чтобы увидеть, как это работает на практике.
Ниже я привожу несколько ссылок.
В Niice используется фиксированная панель навигации, которая содержит в себе окно поиска и меню навигации по сайту. Во время просмотра проектов, вы можете быстро фильтровать их, не прерываясь на перемещение по сайту, используя окно поиска в верхней части экрана:
Разработчики онлайн-публикатора 99U встроили в навигационную панель меню навигации. Во время чтения новости пользователь ресурса имеет возможность моментального перехода в необходимый ему раздел сайта:
Сайт Forbes.com расположил меню, систему поиска по сайту и виджет для авторизации на фиксированной панели навигации, предоставив пользователю, читающему новости удобство быстрого доступа.
Это позволяет пользователям быстро прыгать к следующей статье после прочтения предыдущей. Фиксированная панель навигации увеличивает время нахождения пользователя на сайте, потому как читатели постоянно используют меню для выбора свежих новостей:
И, как хорошо видно из предыдущего примера, навигационная панель существенно повышает юзабилити сайта с множеством разнообразного контента.
Навигационная панель это отличный способ, позволяющий сократить время, потраченное на переход от одной задачи к другой при работе с сайтом (поиск, авторизация, перемещение по структуре). Говоря по-существу, этот элемент дизайна, повышает эффективность сайта, применяя законы Фиттса:
Теперь, когда мы просмотрели достаточно примеров и осознали преимущества навигации подобного типа, приступим, непосредственно, к повышению эффективности работы нашего онлайн — ресурса.
Ниже демонстрационный пример того, как это выглядит на практике:
ПРОСМОТРЕТЬ ДЕМО
СКАЧАТЬ ИСХОДНИКИ С GITHUB
Перейти к GitHub Repository
Разметка требуется минимальная — элемент блочной верстки, в который мы поместим содержимое фиксированной навигационной панели:
<nav> <!-- Содержимое навигационной панели --> </nav>
Элемент nav отлично подходит в данном случае. Он предоставляет сторонним сервисам (таким, как например роботы поисковых систем) возможность без проблем понимать информационную структуру вашего сайта. Элемент nav по умолчанию является блочным, так что не нужно писать лишнюю строчку CSS-кода.
Но если вы не хотите использовать nav, то подойдет любой по умолчанию блочный элемент, например div. Также можно использовать inline-элемент, такой как span, но прописать ему в CSS-коде свойство display: block.
Вот CSS-код, который заставляет нашу навигационную панель фиксироваться в одном месте:
.fixed-nav-bar { position: fixed; top: 0; left: 0; z-index: 9999; width: 100%; height: 50px; background-color: #00a087; }
Ранее, мы присвоили нашему HTML-элементу класс fixed-nav-bar, поэтому сейчас просто применим к данному селектору нужные стили.
Значения трех последних свойств (width, height и background-color) меняйте на подходящие для вашего сайта.
Давайте теперь рассмотрим подробнее эти четыре волшебных CSS-свойства, ответственных за магию:
position: fixed;
Когда мы устанавливаем значение position равным fixed панель позиционируется относительно области просмотра. Это и позволяет панели оставаться на одном месте:
top: 0; left: 0; right: 0;
Устанавливая свойства top, left и right в 0, мы избегаем нежелательного появления отступов по сторонам панели навигации.
Подсказка: если нужно разместить панель в «подвале» области просмотра то, нужно просто заменить top: 0 на bottom: 0:
z-index: 9999;
Такое большое значение z-index используется, чтобы избежать появления другого элемента HTML-разметки поверх фиксированной панели навигации (если конечно не появится элемента со значением z-index больше, чем 9999).
На этом, пожалуй, все.
В демо-примере применен довольно устаревший вариант респонсивного, выполненного на CSS, навигационного меню. В этом виде оно является концепцией, но не имеет законченной формы. Так как в этом уроке нашей основной целью стала постройка фиксированной навигационной панели, которая может являться контейнером для любых других элементов страницы, меню я обсуждать не стану.
Исследуйте исходный код, если вам станет интересно, как работает эта часть (если возникнут непонятные моменты, просто делайте tweet и я буду счастлив помочь вам разобраться).
Фиксированная панель навигации довольно проста в реализации. Она требует минимальной HTML-разметки и всего несколько CSS-свойств, которые мы с вами рассмотрели.
Обсуждаемый в этой статье метод имеет отличную кроссбраузерную совместимость, потому как использует только проверенные и надежные свойства CSS, и, таким образом, будет работать должным образом даже в самых древних веб-браузерах. Тем не менее, если обратная совместимость сильно важна для ваших проектов, вы можете принять решение о замене nav (который относится к HTML5) на div.
В нужном контексте фиксированная панель навигации сможет улучшить удобство использования, потому что ее использование уменьшает задержку при переходе к новой задаче, по сравнению с традиционной горизонтальной панелью навигации, которая требует прокрутки обратно к верхней части страницы.
Сергей Бензенкоавтор-переводчик статьи «How to Create a Fixed Navigation Bar»
Статья, в которой рассматривается HTML-элемент nav
из категории sectioning.
Элемент nav
предназначен для создания секции в документе, содержимое которой представляет собой навигацию.
Навигация — это фрагмент кода, содержащий ссылки на другие страницы сайта или на разделы этой же страницы. Навигацию обычно оформляют в виде маркарированного списка (ul
), элементы li
которого содержат элементы a
(ссылки). Такой образ представления навигации является самым простым и понятным для поисковых роботов.
<!-- Секция на странице, содержащая навигацию --> <nav> <ul> <li><a href="/">Главная</a> <li><a href="news.html">Новости</a> <li><a href="blog.html">Блог</a> <li><a href="about.html">О блоге</a> </ul> </nav>
Не все группы ссылок на странице должны находиться в элементе nav
. Элемент nav
в первую очередь предназначен для группирования основных блоков навигации.
Например, авторы большинства сайтов в футере размещают ссылки на различные страницы сайта (Условия использования, Правила сайта, Главная страница, О сайте). В этом случае использовать элемент nav
для их группировки не рекомендуется, т.к. данная навигация не является основной.
Пользовательские агенты, такие как программы чтения с экрана, могут извлечь выгоду из навигационной информации. Например, при чтении HTML-страницы они будут знать, что это за фрагмент кода и могут в зависимости от желания пользователя пропустить или предоставить его.
Внимание: Элемент nav
не может содержать в качестве своего потомка элемент main
.
В качестве примера рассмотрим страницу, содержащую 2 элемента nav
. Первый из этих элементов будет представлять навигации по сайту, а второй — навигацию по странице.
<body> <h2>Мой сайт</h2> <!--Навигация по сайту--> <nav> <h3>Навигация по сайту</h3> <ul> <li><a href="/">Главная</a></li> <li><a href="html.html">Статьи по HTML</a></li> <li><a href="html.html">Статьи по CSS</a></li> <li><a href="html.html">Статьи по JavaScript</a></li> </ul> </nav> <!-- Основное содержимое страницы (статья) --> <article> <!-- Заголовок статьи --> <header> <h3>Название статьи</h3> <p>Дополнительная информация...</p> </header> <!-- Навигация по этой странице (статье) --> <nav> <h4>Содержание статьи:</h4> <ul> <li><a href="#section1">Раздел 1</a></li> <li><a href="#section2">Раздел 2</a></li> <li><a href="#section3">Раздел 3</a></li> </ul> </nav> <div> <!-- 1 раздел статьи --> <section> <!-- Заголовок раздела --> <h4>Раздел 1</h4> <!-- Содержимое 1 раздела --> <div>. ..</div> </section> <!-- 2 раздел статьи --> <section> <!-- Заголовок раздела --> <h4>Раздел 2</h4> <!-- Содержимое 2 раздела --> <div>...</div> </section> <!-- 3 раздел статьи --> <section> <!-- Заголовок раздела --> <h4>Раздел 3</h4> <!-- Содержимое 3 раздела --> <div>...</div> </section> </div> <!-- Футер статьи --> <footer> ... </footer> </article> <!-- Футер страницы --> <footer> <p>Мой сайт, 2015.</p> </footer> </body>
Элемент nav
не обязательно должен содержать навигацию в виде списка. Навигация также может быть представлена другим контентом.
Например, рассмотрим следующий вариант навигации сайта:
<nav> <h2>Навигация</h2> <p>Вы находитесь на моей главной странице. Это отправная точка, с которой Вы можете путешествовать по моему ресурсу. Если Вы хотите познакомиться с моими записями, то переходите в <a href="blog">"Мой блог"</a>. Если Вам интересны проекты, над которыми я сейчас работаю, то переходите в <a href="laboratory">"Мою лабораторию</a>. А если Вы хотите увидеть мои разработки или приобрести их, то переходите в раздел <a href="ready">"Готовые решения"</a>.</p> <p>У Вас есть вопросы ко мне или Вы хотите узнать больше информации об проектах, то посетите страницу <a href="about">"О блоге"</a>.</p> </nav> </p>
Как создать панель навигации в HTML
Изучение того, как создать панель навигации в HTML, поможет вам встать на ноги в создании и разработке веб-сайтов.
HTML является одним из ведущих языков кодирования в мире по состоянию на 2021 год, при этом 56% программистов говорят, что они используют HTML. Следуя этим простым и кратким шагам по созданию панели навигации в HTML, вы сможете создать простую панель навигации, цветовую схему и фон.
Что такое панель навигации в HTML?
Панель навигации или панель навигации в HTML — это раздел пользовательского интерфейса, обычно расположенный в верхней части веб-сайта, который позволяет пользователям просматривать информацию и получать к ней доступ. Панель навигации представлена в виде раскрывающегося меню или свернутой панели навигации с именами классов. Приложение с функциями навигации может также использовать HTML и CSS в качестве языка программирования для кодирования элементов приложения.
Использование для панели навигации в HTML
- Организация. Наличие навигационного меню на вашем веб-сайте гарантирует, что элементы списка для раскрывающегося меню будут скоординированы и логически сформулированы. Организованные навигационные ссылки визуально привлекательны для посетителей сайта.
- Простота использования. Навигация по неупорядоченному списку ссылок неудобна и может отвлечь трафик от вашего веб-сайта. Хорошо организованные навигационные панели, которые просты в использовании, обеспечивают удобство для людей, которые посещают ваш веб-сайт.
- Доступность. Красивые панели навигации упрощают доступ к информации, что упрощает взаимодействие с пользователем.
Создание панели навигации: шаг за шагом
- Открытие текстового редактора
- Создание тега
- Определение тега
- Определение тега 9001 4 Изменить дизайн
- Закройте теги
Шаги по созданию панели навигации:подробно
Вы можете использовать HTML для создания функциональной и доступной панели навигации.Ниже приведены шаги,которые необходимо выполнить,чтобы сделать адаптивную панель навигации. Узнав о необходимых вам шаблонах CSS и следуя примеру блочного элемента,вы сможете создать меню навигации,которое поможет вам построить панель навигации.
1. Откройте текстовый редактор
Откройте новый текстовый редактор или уже существующий файл CSS в папке приложения. Вставьте следующие наборы блочных элементов,так как они станут основой для вашей базовой панели навигации. Эти встроенные элементы являются основой вашей панели навигации и обеспечивают ее функциональность.
- Создать панель навигации
- Заголовок>
- <Тело>
2. Создайте тег
48
Тег
- собирает и упорядочивает все параметры,которые вы собираетесь ввести на панели навигации. Эти параметры ведут к назначенным им страницам по абсолютному или относительному пути. Путь — это форма тегов привязки к атрибуту href,который позволяет вставлять навигационные ссылки в свойства CSS.
- Домашняя страница
- < л>
- < a href="#">Блог
- О нас
- < a href="#">Контакт