Главная страница_Журнал IT-технологий
Воскресенье, 19.05.2024, 07:44 Приветствую Вас Гость | RSS | Вход | Регистрация
.
[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 1
  • 1
Форум - Журнал IT-технологий » Программирование » Web-программирование » Создание выпадающего меню (Создание выпадающего меню с помощью CSS)
Создание выпадающего меню
ShumikДата: Воскресенье, 04.04.2010, 20:32 | Сообщение # 1
Генералиссимус
Группа: Администраторы
Сообщений: 56
Репутация: 10
Статус: Offline


В этом уроке рассказывается о том, как на CSS создать простое выпадающее меню.
Итак, приступим...

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" type="text/css" />

<script type="text/javascript">
<!--//--><![CDATA[//><!--
    jsHover = function() {
        var hEls = document.getElementById("menu").getElementsByTagName(&
#34;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&
#62;<a href="/">Пункт 1</a></li>
            <li&
#62;<a href="/">Пункт 2</a></li>
            <li&
#62;<a href="/">Пункт 3</a></li>
        </ul>
    </li>
</ul>
</body>


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

<script type="text/javascript">
<!--//--><![CDATA[//><!--
    jsHover = function() {
        var hEls = document.getElementById("menu").getElementsByTagName(&
#34;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; - показ элемента блоком (при наведении)

Демо

По материалам сайта: Российская школа CSS

 
Форум - Журнал IT-технологий » Программирование » Web-программирование » Создание выпадающего меню (Создание выпадающего меню с помощью CSS)
  • Страница 1 из 1
  • 1
Поиск:


Статистика Форума
Популярные темы Новые темы Лучшие пользователи Новые пользователи

Жидкостное охлаждение...

(1)

GPS

(0)

GPS-приёмник

(0)

Цифровой зеркальный ф...

(0)

Форматы видео

(0)

LiveView (Live view, ...

(0)

Поколения мобильной т...

(0)

Акселерометр в телефо...

(0)

Переход между страниц...

(0)

Создание градиентного...

(0)

Жидкостное охлаждение...

(1)

GPS

(0)

GPS-приёмник

(0)

Цифровой зеркальный ф...

(0)

Форматы видео

(0)

LiveView (Live view, ...

(0)

Поколения мобильной т...

(0)

Акселерометр в телефо...

(0)

Переход между страниц...

(0)

Создание градиентного...

(0)

Shumik

Sidorov

Rekrut

olegfilimonow

lexajakovlev

gari

tubaretka2012

klaniklani

shereman2012

maxycheks

Sidorov

olegfilimonow

lexajakovlev

gari

tubaretka2012

klaniklani

shereman2012

maxycheks

intelligencebusiness

tank5454



Copyright Журнал IT-технологий © 2024

При наполнении сайта использована информация из открытых источников. Администрация сайта не несет ответственности за недостоверную и заведомо ложную информацию размещенную на страницах сайта. Если Вы считаете, что какой-либо из материалов нарушает Ваши права, свяжитесь с Администрацией. При использовании информации опубликованной на нашем сайте, ссылка обязательна.