В сегодняшнем уроке мы 
создадим красивую навигацию для Вашего сайта с помощью HTML, CSS и 
немного jQuery. 
 
  Подобное меню способно украсить любой сайт.
 
 Приступим... 
 HTML 
  
 Единственное что нам понадобится для этого меню - 
это неупорядоченный список с ссылками и текстом внутри элементов списка:
 
 
Code
<ul id="navigation"> 
  <li
 class="home"><a 
href=""><span>Home</span></a></li> 
  <li
 class="about"><a 
href=""><span>About</span></a></li> 
  <li
 class="search"><a 
href=""><span>Search</span></a></li> 
  <li
 class="photos"><a 
href=""><span>Photos</span></a></li> 
  <li
 class="rssfeed"><a href=""><span>Rss 
Feed</span></a></li> 
  <li 
class="podcasts"><a 
href=""><span>Podcasts</span></a></li> 
  <li
 class="contact"><a 
href=""><span>Contact</span></a></li> 
 
</ul> 
 
 CSS  Для начала мы определяем 
свойства для списка 
 
Code
ul#navigation { 
  position: 
fixed; 
  margin: 0px; 
  padding: 0px; 
  top: 0px; 
  right:
 10px; 
  list-style: none; 
  z-index:999999; 
  width:721px; 
 } 
 
 Мы позиционируем список в правом верхнем углу страницы. Навигация 
должна быть всегда доступна пользователю, даже если он прокручивает 
страницу вниз. Поэтому мы фиксируем позиционирование. Все отступы и 
границы мы выставляем на 0. Навигация также должна быть поверх всех 
элементов на странице. Именно поэтому мы также выставляем высокой 
значение z-index. Также нам необходимо прописать ширину меню, чтобы 
элементы списка не наезжали друг на друга при изменении размера окна 
браузера.  Теперь давайте взглянем на 
свойства элементов списка: 
 
Code
ul#navigation li { 
  width: 
103px; 
  display:inline; 
  float:left; 
 }
 Если Вы хотите, чтобы список показывался 
горизонтально, необходимо установить значение display на inline. После 
этого элементы списка будут отображаться рядом друг с другом, а не под. 
 Теперь посмотрим на свойства ссылок в элементах списка: 
 
Code
ul#navigation li a { 
  display:
 block; 
  float: left; 
  margin-top: -2px; 
  width: 100px; 
  height:
 25px; 
  background-color: #E7F2F9; 
  background-repeat: 
no-repeat; 
  background-position: 50% 10px; 
  border: 1px solid 
#BDDCEF; 
  text-decoration: none; 
  text-align: center; 
  padding-top:
 80px; 
 } 
 
 Тут стоить упомянуть только свойство padding, которое помогает 
переместить текст ссылки в самый низ блока. 
  
 Давайте теперь
 добавим круглых углов (не будут работать в Internet Explorer) и 
прозрачности:  
Code
ul#navigation li a { 
  display:
 block; 
  float:left; 
  margin-top: -2px; 
  width: 100px; 
  height:
 25px; 
  background-color:#E7F2F9; 
  background-repeat:no-repeat;
 
  background-position:50% 10px; 
  border:1px solid #BDDCEF; 
  text-decoration:none;
 
  text-align:center; 
  padding-top:80px; 
  -moz-border-radius:0px
 0px 10px 10px; 
  -webkit-border-bottom-right-radius: 10px; 
  -webkit-border-bottom-left-radius:
 10px; 
  -khtml-border-bottom-right-radius: 10px; 
  -khtml-border-bottom-left-radius:
 10px; 
  opacity: 0.7; 
  filter:progid:DXImageTransform.Microsoft.Alpha(opacity=70);
 
 }
 Последнее значение filter сделает меню прозрачным и в IE. 
 Теперь давайте позаботимся о красивых иконках: 
 
Code
ul#navigation .home a{ 
  background-image:
 url(../images/home.png); 
 } 
 ul#navigation .about a { 
  background-image:
 url(../images/id_card.png); 
 } 
 ul#navigation .search a { 
  background-image:
 url(../images/search.png); 
 } 
 ul#navigation .podcasts a { 
  background-image:
 url(../images/ipod.png); 
 } 
 ul#navigation .rssfeed a { 
  background-image:
 url(../images/rss.png); 
 } 
 ul#navigation .photos a { 
  background-image:
 url(../images/camera.png); 
 } 
 ul#navigation .contact a { 
  background-image:
 url(../images/mail.png); 
 }
 При наведении мышки мы хотим, чтобы фоновый
 цвет менялся: 
 
Code
 
 ul#navigation li a:hover{ 
  background-color:#CAE3F2;
 
 }
 Еще добавим немного стиля нашим текстовым блокам: 
 
Code
 
 ul#navigation li a span{ 
  letter-spacing:2px;
 
  font-size:11px; 
  color:#60ACD8; 
  text-shadow: 0 -1px 
1px #fff; 
 } 
 jQuery
 Первым делом нам необходимо сделать, так 
чтобы элементы списка были спрятаны (похоже на клавиши рояля). Мы можем 
видеть только текст ссылки. При наведении на элемент, мы запускаем 
анимацию и показываем полностью блок с иконкой. 
 
Code
$(function() { 
  var d=300; 
  $('#navigation
 a').each(function(){ 
  $(this).stop().animate({ 
  'marginTop':'-80px'
 
  },d+=150); 
  }); 
  $('#navigation > li').hover( 
  function
 () { 
  $('a',$(this)).stop().animate({ 
  'marginTop':'-2px' 
  },200);
 
  }, 
  function () { 
  $('a',$(this)).stop().animate({ 
  'marginTop':'-80px'
 
  },200); 
  } 
 ); 
 }); 
 
 Скрипт устанавливает marginTop на -80 пикселей. Эффект для первого
 элемента должен продолжаться 300+150 миллисекунд и каждый следующий 
элемент должен исчезать с задержкой 150 миллисекунд. 
 После того, как мышку пользователь убирает - все возвращается на свои 
места. 
 Урок закончен! До следующих 
встреч! 
 Данный урок подготовлен для 
Вас командой сайта http://ruseller.com 
 Источник урока: 
www.tympanus.net 
 Демо