Создаем горизонтальное меню
Навигационное меню сайта — это элемент который присутствует на каждом сайте, будь то домашняя страничка, блог или же интернет-магазин. В стандарте HTML 5, данный элемент выделили даже в отдельный тег <nav></nav>.
Множество разработчиков создает этот элемент различными способами, но я хотел бы представить Вашему вниманию одну из самых удачных практик.
Меню мы будем строить на элементе — список, который лучше всего подходит для навигации и позволяет строить иерархические структуры меню при необходимости. Ниже представлена стандартная HTML схема меню.

Как видно, структура очень проста и понятна. Для стандарта HTML 4 существует элемент — div, в котором и находится наше меню. Для HTML 5 — мы используем элемент nav. Приведем листинг HTML кода.
Структура для HTML 4
<div id="nav"> <ul> <li><a href="/index">Главная</a></li> <li><a href="/link1">Ссылка 1</a></li> <li><a href="/link2">Ссылка 2</a></li> <ul> </div>
Структура для HTML 5
<nav> <ul> <li><a href="/index">Главная</a></li> <li><a href="/link1">Ссылка 1</a></li> <li><a href="/link2">Ссылка 2</a></li> <ul> </nav>
И так у нас есть готовый список, как же теперь из этого получить нам красивое меню? Для это воспользуемся каскадными таблицами стилей и приведем нашу структуру в необходимый вид.
Зададим фиксированную высоту тегу <ul>, например 30 пикселей.
Для тега <li> зададим высоту строки такую же, как и высота самого <ul>, то есть 30 пикселей, это необходимо для того, что бы текст находился по середине.

Как только мы зададим свойство float у элемента <li>, то наше меню из вертикального превратится в горизонтальное, что нам и надо. Стоит заметить, что элементы с установленным свойством float автоматически становятся элементами уровня блока, потом этот блок смещает влево или вправо. Высота у тегов <li> должна быть такая же, как и у <ul>

Для тега <a> устанавливаем свойство display: block, это необходимо для того, что бы элемент занял всю область элемента <li> и вся эта область была «кликабельна».

Теперь можно создать иерархическое меню
<nav>
<ul class="site-navigation">
<li><a href="#">Главная</a></li>
<li><a href="#">Страница 1</a></li>
<li><a href="#">Страница 2</a></li>
<li><a href="#">Страница 3</a></li>
<li><a href="#">Страница 4</a></li>
<li><a href="#">Страница 5</a>
<ul>
<li><a href="#">Страница 5-1</a></li>
<li><a href="#">Страница 5-2</a></li>
<li><a href="#">Страница 5-3</a></li>
</ul>
</li>
</ul>
</nav>
А теперь используя CSS стилизуем наше меню
ul.site-navigation {
height: 30px;
/* Зададим фон для списка */
background-color: #3DA4B7;
}
ul.site-navigation li {
line-height: 30px;
height: 30px;
float:left;
width:auto;
}
ul.site-navigation li a {
display: block;
color: #fff;
text-decoration:none;
padding: 0 10px;
border-right: 1px solid #f4f4f4;
/* Анимация для браузеров основаных на Webkit */
-webkit-transition: background-color 0.15s linear;
}
/* Добавим анимацию при наведении */
ul.site-navigation li a:hover {
background-color: #57BCCC;
}
ul.site-navigation li ul {
background-color: #3DA4B7;
display:none;
}
ul.site-navigation li ul li {
float: none;
}
ul.site-navigation li:hover ul {
display:block;
}
Вот так, достаточно просто можно сделать удобное и практичное меню для сайта. Рабочий пример можно скачать по этой ссылке. Это довольно таки простой пример, в который затем можно добавить несколько дополнительных элементов функциональности.
Статья подготовлена с использованием материалов сайта http://woorkup.com