Реклама

    silverkz.net

Музыка

    Музыка

Мини-чат

Статистика

[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 1
  • 1
Архив - только для чтения
Красивое меню для Вашего сайта!
E[R]OSH1Дата: Пт, 08/01/2010, 16:08 | Сообщение # 1
Пипец Злой Админ
Группа: Заблокированные
Сообщений: 2406
Статус: Offline

Подобное меню способно украсить любой сайт.
Приступим...

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);  
}  
);  
});

Все!




 
  • Страница 1 из 1
  • 1
Поиск: