Читы for PC GAME
[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 1
  • 1
Создание выпадающего меню
Адміністратор
 Дата: Пятница, 25.03.2011, 21:02 | Сообщение # 1

Группа: Пользователи
Сообщений: 71
Уважение: 0
Offline

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

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

Code
#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 файл и, например вставим туда такой код:

Code
<html>
<head>
<link rel="stylesheet" href="style.css" type="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 только для ссылок. Это так, благодаря следующему скрипту в нашем коде:

Code
<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; - показ элемента блоком (при наведении)
Остальное разобрано в предыдущих уроках

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

Copyright Кракен © 2025
Бесплатный хостинг uCoz