Новичку инфо-бизнеса. От простого к сложному
 
Новичку инфо-бизнеса. От простого к сложному
Меню
Генератор форм

NEW!!! Теперь нет необходимости изучать html, javascript или php, для того, чтобы создать форму обратной связи на сайт, AJAX-форму, опрос, голосование или анкету!

Мастер создания форм

Мастер создания форм 3.0

Все нужные параметры скрипт подготовит сам - вам остается только создать проект, добавить нужные компоненты и поместить сгенерированный html-код на любую страницу Вашего сайта.

Узнать подробности >>>

Категории

.: Полезные сервисы (6)

.: HTML и CSS (6)

.: Веб-программирование (30)

.: Почтовые рассылки (7)

.: Копирайтинг (1)

.: Продвижение сайтов (10)

.: Разное (13)

.: Заработок в Интернете (10)

.: Платежные системы (5)

Популярные заметки

:: Интеркасса – новая система приема платежей на Вашем сайте

:: Форма обратной связи. Как ее создать и для чего она нужна?!

:: Выпадающие меню на HTML и CSS

:: Улучшаем обработчик формы обратной связи

:: Этапы создания собственной почтовой рассылки

Случайные заметки

:: Украсьте Ваше Рекламное Письмо Заголовками

:: Что такое вредоносный код и как от него избавиться?!!

:: Подбор ключевых слов и поисковых запросов для оптимизации сайта

:: Как уберечь Ваши сайты от беды?!

:: Как закачать файлы на сервер используя FTP-клиент

Опрос

Какая тема Вам наиболее интересна: *







Результаты
Реклама

Выпадающие меню на HTML и CSS

Каждый, кто решил создать свой сайт, сталкивается с потребностью создания симпатичного меню для своего сайта. В этой статье я расскажу, как при помощи обычного HTML-кода и несложных CSS-правил, можно создать отличное выпадающее меню, которое легко менять и дополнять. И для этого нам не понадобится никакой JavaScript-код!

Давайте посмотрим какое меню у нас получится

Первым и самым важным этапом, при создании выпадающего меню, является создание его структуры. Лучше всего это делать, используя ненумерованные списки. Давайте создадим вот такое простое меню:

<div id="nav">
<ul>
<li><a href="#">Главная</a></li>
<li><a href="#">Статьи</a>
   <ul>
   <li><a  href="#">HTML</a></li>
   <li><a  href="#">CSS</a></li>
   <li><a  href="#">PHP</a></li>
   <li><a  href="#">MySQL</a></li>
   </ul>
</li>
<li><a href="#">Книги</a>
   <ul>
   <li><a  href="#">Раскрутка и продвижение</a> </li>
   <li><a  href="#">Е-Бизнес</a></li>
   <li><a  href="#">Web-Дизайн</a></li>
   <li><a  href="#">Платежные системы</a></li>
   </ul>
</li>
<li><a href="#">О нас</a> </li>
</ul>   
</div>

Довольно простой и не сложный  получился html-код. Выглядеть этот список будет так.

На следующем этапе мы приведем наше меню к более красивому виду. Это легко можно сделать благодаря использованию CSS.
Первым делом уберем меркеры в ненумерованном списке, отступы, а также зададим ширину нашего меню.

#nav ul {
margin: 0px;
padding: 0px;
list-style:none;
width:200px;
}

Теперь нам необходимо задать положение элементов списка. Так как наше меню будет вертикальное, это облегчает нашу работу. Однако, нам необходимо задать значение для свойства "position", как "relative". Это необходимо для того, чтобы относительно основного меню абсолютно позиционировать подменю.  Также зададим нижнее подчеркивание для пунктов меню.

#nav  ul li {
position: relative;
border-bottom:1px solid #ccc;
}

Теперь необходимо подкорректировать наше подменю. Так как мы хотим, чтобы наше меню появлялась справа от основного меню в тот момент, когда над этим пунктом находится курсор, то нам необходимо вложенному списку, свойству "position" задать значение "absolute". Также нам необходимо задать его положение. Это делается следующим образом

#nav li ul {
position: absolute;
left: 200px;
top: 0;
display: none;
}

Используя атрибуты  left и  top мы задаем абсолютное позиционирование нашего подменю относительно родительского пункта меню.  Также я присвоил атрибуту "display" значение "none", так как мы не хотим видеть подменю при открытии страницы.

Итак, теперь наше меню выглядит так.

Теперь придадим вид нашим ссылкам. В первую очередь для того, чтобы каждая ссылка занимала всё отведённое для неё место внутри содержащего её элемента списка, присвоим атрибуту "display" значение "block". Также уберем нижнее подчеркивание и зададим цвет фона и цвет текста ссылок.

#nav ul li a {
display: block;
text-decoration: none;
color: #777;
background: #fff;
padding: 5px;
}

Далее нам необходимо сделать так, чтобы при наведении на пункты меню, у нас справа появлялось подменю.
Делается это следующим образом

#nav  li:hover ul { display: block; }

Вот теперь наше меню уже работает и выглядит так.

Осталось придать ему более привлекательный вид.

Для начала давайте сделаем так, чтобы при наведении на пункты нашего меню изменялся фон и цвет текста. Для этого добавим следующий код

#nav li:hover  a {
color:#FFFFFF;
background: url(img/fone-tr.png);
}

Здесь я в качестве фона использую вот эту картинку, но Вы можете использовать и заливку любым другим цветом (например: background-color:#0000ff;).

А теперь сделаем так, чтобы при наведении на пункт  подменю, он также изменял цвет своего фона. Для этого используем следующий код:

#nav  li:hover ul a:hover {
background-color:#cccccc;
background-image:none;
color:#FFFFFF;
}

Ну вот и все! Наше выпадающее меню на html и CSS готово. Можете  посмотреть, что у нас получилось здесь.

На этом казалось бы можно было закончить, но нет. К сожалению ранние версии Internet Explorer понимают псевдокласс :hover лишь для тега <a> - так что li:hover, на который у нас завязано появление подменю и изменение цвета фона, ему ни о чём не говорит.

Для  того чтобы устранить эту проблему, добавим небольшой JavaScript-код:

<script type="text/javascript">
jsHover = function() {
var hEls = document.getElementById("nav").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>

Это позволяет "прицепить" класс jshover к любому элементу <li>, над которым проходит курсор. Эта функция работает только в Internet Explorer — для других браузеров она просто не нужна.

Теперь, чтобы меню заработало в IE, добавим к трем уже существующим правилам по дополнительному селектору li.jshover:

#nav li:hover ul, #nav li.jshover ul {

}

#nav li:hover  a, #nav li.jshover a {

}

#nav li:hover ul a:hover, #nav li.jshover ul a:hover {

}

Вот теперь все! Если у Вас нет времени на написание этого кода, то можете скачать мой исходник по этой ссылке.

Удачи!

Добавить в социальные закладки Сабмит в закладки

Опубликована: 2009-06-08   Просмотров: 7817   Комментариев: 9   Рейтинг: 5/5
 

Оцените эту статью:

Ужасно
Плохо
Так себе
Хорошо
Отлично

Коментарии:

  • Комментарий добавил(а): Алена
    Дата: 2009-06-16 00:00:00

    Все замечательно написано. Но обычному пользователю,типа меня, не имеющему еще год назад представления как заходить в интернет, много не понятного. Есть ли возможность подробнее покопаться в этой теме (ссылки,рекомендации) с вашей помощью? Мне это очень интересно, но пойти на какие-либо курсы нет возможности, т.к. в нашем населенном пункте такое не практикуется.

    • Комментарий добавил(а): Шамшур Иван
      Дата: 2009-06-18 00:00:00

      На самом деле здесь нет ничего сложного! Вам следует просто изучить каскадные таблицы стилей CSS.

      На эту тему в Интернете есть масса книг и статей. Пользуйтесь поиском.

      Вот я нашел уже что-то нашел по этой ссылке

      http://webcopy.narod.ru/css.html

      Удачи

  • Комментарий добавил(а): NiNjA
    Дата: 2009-07-13 00:00:00

    а как сделать еще одну ветвь типа item1>Sub item item 1 .1>Sub sub item 1.1.1 ?

  • Комментарий добавил(а): NiNjA
    Дата: 2009-07-13 00:00:00

    ошибка! после ввода коменраиев если кликать обновить они заново додаються сами

  • Комментарий добавил(а): Katrysa
    Дата: 2009-07-25 00:00:00

    на моем сайте нет выпадающего меню, и я его не доделала. Но вот я ознакомилась со статьей здесь, и у меня проблемка, в том что я не пойму, почему в браузере интернет експлоурер распознает текст меню, а в ОПЕРЕ- ероглифи. я сделала все как на сайте написано. ??? http://depositfiles.com/files/tnzce45ah можете глянуть. помогите.....

  • Комментарий добавил(а): Pufik
    Дата: 2009-08-05 00:00:00

    этот пример был на других сайтах слизали все его уже по 10000000.... раз а сами ни че сделать не можете кроме как скрипты ганять.

  • Комментарий добавил(а): gps
    Дата: 2009-10-29 00:00:00

    Спасибо огромное отличный пример очень помог.....

  • Комментарий добавил(а): MelioR
    Дата: 2009-12-12 00:00:00

    А как сделать что-бы субменю открывалось при нажатии а не при наведении?

  • Комментарий добавил(а): Роман
    Дата: 2010-03-11 00:00:00

    Почему при на ведении на ссылку (обычно вторую ссылку) в субменю, субменю закрывается??? тупо стырил исходник...

Добавить комментарий:

Введите Ваше имя: * Введите Ваш email: * URL Вашего сайта:
Введите Ваш комментарий: *
Введите числа с картинки
Обновить капчу


Опубликована: 2009-06-08   Просмотров: 7817   Комментариев: 9   Рейтинг: 5/5
Подписка на рассылку
Все секреты бизнеса в Интернете у тебя на ладони
Ваше имя: *
Ваш e-mail: *

Подписка на RSS

Поиск


Комплект Реселлера

NEW!!! У тебя есть сайт, но ты не знаешь, что на нем продавать?

"Комплект Реселлера"

Самый большой сборник информационных товаров с правом перепродажи

Кликните Сюда Прямо Сейчас, Чтобы Узнать Все Подробности!

HTML-код для чайников
Хочешь изучить HTML за неделю?! Подписывайся на бесплатную рассылку "HTML-код для чайников"! Изучить HTML легко! Главное начать!

HTML-код для чайников

Ваше имя: *
Ваш e-mail: *
Моя ссылка

Если вам понравился мой сайт, я буду вам признателен, если вы разместите мою текстовую ссылку на своем сайте.
Заранее спасибо!

Код ссылки:

Рекомендую

Инфо продюсер - искусство продажи информации

Изучив данную методику Вы станете информационным продюсером, сохраните кучу свободного времени, не изучая при этом техническую сторону инфо бизнеса и заставите свои или чужие деньги работать эффективно!

Узнать подробности >>>

Статистика

Заметок в базе: 88
Книг в базе: 29
Комментариев в базе: 218

Copyright © 2008-2010 Шамшур Иван. Все права защищены.
Разрешается републикация материалов сайта с обязательным указанием ссылки на
автора материала (указание автора, его сайта) и ссылки cледующего содержания:
"http://biznesguide.ru. Новичку Инфо-Бизнеса. От простого к сложному."