Мы в твиттере Мы в телеграме!

Провеббер » Всё для uCoz » uCoz хаки » Создание выпадающего меню

Набор в команду! Ведется набор в команду, для наполнения сайта новым, интересным контентом. Если у тебя есть предложения, свободное время, ты обладаешь интересным контентом, и хочешь поделиться с другими?
Обращайся к нам в ЛС группы Вконтакте.

Создание выпадающего меню

Данный материал предоставлен сайтом ProWebber.cc исключительно в ознакомительных целях. Администрация не несет ответственности за его содержимое.
Скачать бесплатно Создание выпадающего меню.

Создание выпадающего меню


Итак, приступим...

1) Для удобства вынесем CSS в отдельный файл. Для этого откроем блокнот -> Сохранить как -> style.css.
2) Вставьте в этот файл следующий код (подробнее о нем читайте в конце урока):

#menu, 
#menu ul {
     border: 1px solid #b4b4b4;
     background: #003a63;
     float: left;
     width: 300px;
}

#menu li {
     float: left;
     position: relative;
     background: #003a63;
}

#menu a {
     color: #fff;
     text-decoration: none;
     display: block;
     width: 125px;
     padding: 3px 10px;
}

#menu a:hover {
     color: #000;
     background-color: #9ad5ff;
}

#menu li:hover,
#menu li.jshover {
     background-color: #9ad5ff;
}

#menu li ul {
     display: none;
     position: absolute;
     padding: 5px 2px;
     width: 140px;
}

#menu li li a {
     width: 118px;
}

#menu li:hover ul,
#menu li.jshover ul {
     background-color: #003a63;
     display: block;
}

#menu li:hover li ul,
#menu li.jshover li ul {
     display: none;
     width: 140px;
}

#menu li:hover li:hover ul,
#menu li.jshover li.jshover ul {
     display: block;
}


3) Чтобы увидеть работу стилей, создадим в той же дирректории html файл и, например вставим туда такой код:

<html> 
<head>
<link rel="stylesheet" href="style.css" ENGINE="text/css" />

<script type="text/javascript">
<!--//--><![CDATA[//><!--
       jsHover = function() {
           var hEls = document.getElementById("menu").getElementsByTagName("LI");
           for (var i=0, len=hEls.length; i<len; i++) {
               hEls[i].onmouseover=function() { this.className+=" jshover"; }
               hEls[i].onmouseout=function() { this.className=this.className.replace(" jshover", ""); }
           }
       }
       if (window.attachEvent && navigator.userAgent.indexOf("Opera")==-1) window.attachEvent("onload", jsHover);
//--><!]]></script>
</head>
<body>
<ul id="menu">
       <li><a href="/">Главная</a></li>
       <li><a href="/">Меню</a>
           <ul>
               <li><a href="/">Пункт 1</a></li>
               <li><a href="/">Пункт 2</a></li>
               <li><a href="/">Пункт 3</a></li>
           </ul>
       </li>
</ul>
</body>


Заметим, что наше меню нормально работает во всех браузерах, включая IE6, который поддерживает параметр hover только для ссылок. Это так, благодаря следующему скрипту в нашем коде:

<script type="text/javascript"> 
<!--//--><![CDATA[//><!--
jsHover = function() {
var hEls = document.getElementById("menu").getElementsByTagName("LI");
for (var i=0, len=hEls.length; i<len; i++) {
hEls[i].onmouseover=function() { this.className+=" jshover"; }
hEls[i].onmouseout=function() { this.className=this.className.replace(" jshover", ""); }
}
}
if (window.attachEvent && navigator.userAgent.indexOf("Opera")==-1) window.attachEvent("onload", jsHover);
//--><!]]></script>


4) Сохраняем и смотрим, что получилось.

Пояснения к коду:
display: none; - запрет показа элемента
display: block; - показ элемента блоком (при наведении)


Дополнительные ссылки на скачивание ТОЛЬКО для зарегистрированных


Отредактировал ilja - 2010-1-22
Причина: Изменил категорию. Автор указывайте категории правильно
-2
Просмотры: 9 939 :: Комментарии (8) :: :: Нужна помощь? Задайте вопрос на форуме ::
Уважаемый посетитель, Вы зашли на сайт как незарегистрированный пользователь.
Мы рекомендуем Вам зарегистрироваться либо войти на сайт под своим именем.

#1nsdss

  • 23 января 2010 06:41
  • Регистрация: 10.01.2010
  • Был(а) онлайн: 13.03.2015
  • Комментариев: 457
  • 0
За миниурок конечно спасибо, но хотелось бы что бы ты показал как улучшить данное меню, т.е. например сделать выпадающие меню прозрачными например, края округлыми и т.д. Вот тогда будет респект.

--------------------

#2sewa

  • 1 февраля 2010 13:56
  • Регистрация: 29.01.2010
  • Был(а) онлайн: 27.01.2011
  • Комментариев: 47
  • 0
Цитата: nsdss
Вот тогда будет респект.

ну не скажи, даже немного сыроватая новость заслуживает уважения.
кстати мне пригодится в будущем man_in_love

#3MDLES

  • 8 февраля 2010 11:49
  • Регистрация: 19.11.2009
  • Был(а) онлайн: 29.03.2011
  • Комментариев: 10
  • 0
круто у меня такоеже стоит)

#4oleg599

  • 12 февраля 2010 17:34
  • Регистрация: 7.10.2009
  • Был(а) онлайн: 8.11.2011
  • Комментариев: 50
  • 0
дану чё то не очень

дану чё то не очень

#5cineplex

  • 15 февраля 2010 20:29
  • Регистрация: 15.02.2010
  • Был(а) онлайн: 15.02.2010
  • Комментариев: 4
  • 0
так как я совсем новенький, не понимаю куда именно надо вставлять код? в каком именно месте? или не имеет значения?

#6Onspeed

  • 12 апреля 2010 20:31
  • Регистрация: 6.10.2009
  • Был(а) онлайн: 23.12.2014
  • Комментариев: 60
  • 0
Эта новость украдена с CSS School !! mad

--------------------

#7sWitch

  • 11 ноября 2010 16:51
  • Регистрация: 11.11.2010
  • Был(а) онлайн: 17.01.2011
  • Комментариев: 3
  • 0
бред!!Он рашпельный

#8Ustim

  • 26 декабря 2010 16:41
  • Регистрация: 26.12.2010
  • Был(а) онлайн: 23.04.2020
  • Комментариев: 11
  • 0
вот это то что я искал. Попробую счас поставить. Найс!!!

Информация
Посетители, находящиеся в группе Гости, не могут оставлять комментарии к данной публикации.

Архив новостей
Ноябрь 2024 (9)
Октябрь 2024 (169)
Сентябрь 2024 (13)
Август 2024 (60)
Июль 2024 (12)
Июнь 2024 (30)