ВСЕ скрипты и шаблоны для меню теперь здесь
Берете у нас информацию? ПОЖАЛУЙСТА!!! СТАВЬТЕ ССЫЛКУ НА ЭТУ СТРАНИЦУ!
Горизонтальное ниспадающее (разворачивающееся) меню для форума или сайта (html+css). (c) Герда
Скриншот
Преимущества этого меню:
1. Оно горизонтальное. (в тырнете очень много подобных вертикальных, но они не всем подходят)
2. Оно настраиваемое стилистически (чего нет во многих навигаторах)
3. Оно при отсутствии криворукости админа может содержать в себе великое разнообразие пунктов и вкладок.
4. Оно подойдет для любого сайта или форума, не конфликтует с премудростями движковНедостатки:
1. новичкам в администрировании сложно настроить
2. оно разработано в первую очередь как именно МЕНЮ (то бишь удобный разворачивающийся список ссылок), а не сборник контейнеров для информации, поэтому тем, кто хочет засунуть туда баннеры, тексты, картинки придется поморочиться.Гайд для новичков по настройкеШаг 1. Составляем список ссылок.
Список ссылок составляется на html.
Для начала обозначаются главные пункты меню, которые будут расположены горизонтально(например: "на главную", "FAQ", "важная информация" и т.п.)
<ul>
<li><a href="ссылка">Пункт 1</a></li>
<li><a href="ссылка">Пункт 2</a></li>
<li><a href="ссылка">Пункт 3</a></li>
<li><a href="ссылка">Пункт 4</a></li>
...и т.п.
</ul>Затем создаем вертикальные ниспадающие списки под основными пунктами.
(например: "Важная информация" >> "Правила", "Навигация", "Партнерство" и т.п.)<ul>
<li><a href="ссылка">Пункт 1</a>
<ul>
<li><a href="ссылка">Пункт 1.1</a></li>
<li><a href="ссылка">Пункт 1.2</a></li>
<li><a href="ссылка">Пункт 1.3</a></li>
...и т.п.
</ul>
</li>
<li><a href="ссылка">Пункт 2</a></li>
<li><a href="ссылка">Пункт 3</a></li>
<li><a href="ссылка">Пункт 4</a></li>
...и т.п.
</ul>Далее можно создать дополнительные всплывающие списки, которые будут открываться справа при наведении на пункт меню.
(например: "Важная информация" >> "Правила" >> "правила регистрации", "правила общения", "правила заказов" и т.п.)<ul>
<li><a href="ссылка">Пункт 1</a>
<ul>
<li><a href="ссылка">Пункт 1.1</a></li>
<li><a href="ссылка">Пункт 1.2</a></li>
<li><a href="ссылка">Пункт 1.3</a>
<ul>
<li><a href="ссылка">Пункт 1.3.1</a></li>
<li><a href="ссылка">Пункт 1.3.2</a></li>
<li><a href="ссылка">Пункт 1.3.3</a></li>
<li><a href="ссылка">Пункт 1.3.4</a></li>
...и т.п.
</ul>
</li>
</ul>
</li>
<li><a href="ссылка">Пункт 2</a></li>
<li><a href="ссылка">Пункт 3</a></li>
<li><a href="ссылка">Пункт 4</a></li>
...и т.п.
</ul>Подпунктов и вкладок может быть бесконечное множество. Главное - не запутаться и не забывать замыкать теги.
Советую всем составлять список в MS Word, выделяя цветами различные списки, как продемонстрировано здесь.Шаг 1. Идентификация списков.
Теперь необходимо расставить в меню классы и id, чтобы потом использовать их в css для настройки разного стиля для различных списков (вкладок меню).
Для главного списка, расположенного горизонтально:
<ul id="nav">...</ul>
Для пунктов главного списка, расположенных горизонтально:
<li class="top"><a href="ссылка" class="top_link">...</a></li>
Для пунктов главного списка, в которых присутствуют ниспадающие списки:
<li class="top"><a href="ссылка" class="top_link"><span class="down">...</span></a></li>
Для ниспадающих списков из главных пунктов:
<ul class="sub">...</ul>
Для пунктов всех списков, у которых есть дополнительные подпункты (открывающиеся справа)
<li><a href="ссылка" class="fly">...</a></li>
Для примера можете рассмотреть код меню, стоявший у нас на форуме:
Html-код списка готов. Вы можете вставлять его в любое место на форуме или сайте, где вы хотите видеть горизонтальное меню.
Шаг 3. Стилизация меню.
Теперь необходимо сделать список горизонтальным и настроить дизайн для различных типов списков.
Для главного списка, расположенного горизонтально:
#nav {...}
Для главного списка, расположенного горизонтально при наведении курсора:
#nav li:hover {...}
Для пунктов главного списка, расположенных горизонтально:
#nav li.top {...}
#nav li a.top_link {...}
#nav li a.top_link span {...}Для пунктов главного списка, в которых присутствуют ниспадающие списки:
#nav li a.top_link span.down {...}
Для пунктов главного списка, расположенных горизонтально при наведении курсора:
#nav li:hover a.top_link,
#nav li.iehover a.top_link {....}
#nav li:hover a.top_link span,
#nav li.iehover a.top_link span {....}Для пунктов главного списка, в которых присутствуют ниспадающие списки при наведении курсора:
#nav li:hover a.top_link span.down,
#nav li.iehover a.top_link span.down {....}Для ниспадающих списков из главных пунктов:
#nav li:hover ul.sub
{....}Для ПУНКТОВ ниспадающих списков из главных пунктов:
#nav li:hover ul.sub li
{...}
#nav li:hover ul.sub li a
{...}Для ниспадающих списков из главных пунктов при наведении курсора:
#nav li:hover ul.sub li a:hover
{....}Для пунктов всех списков, у которых есть дополнительные подпункты (открывающиеся справа):
#nav li ul.sub li a.fly
{...}и т.п.
образец кодаЭксперементируйте с этим кодом, подгоняя под свой стиль.
Полученный код вставляется в style.css (или в html-верх под тегами "style").
Пример стилизации:
[html] <div class='nav'>
<ul id='nav'>
<li class='top'><a href='Ваша ссылка' id='' class='top_link'><span class='down'><strong>Меню. Кнопка 1</strong></span></a>
<ul class='sub'>
<li><a href='Ваша ссылка' class='fly'><strong>Меню первого уровня. 1</strong></a>
<ul>
<li><a href='Ваша ссылка'><strong>Меню второго уровня. 1</strong></a></li>
<li><a href='Ваша ссылка'><strong>Меню второго уровня. 2</strong></a></li>
<li><a href='Ваша ссылка'><strong>Меню второго уровня. 3</strong></a></li>
<li><a href='Ваша ссылка'><strong>Меню второго уровня. 4</strong></a></li>
</ul>
</li>
<li><a href='Ваша ссылка' class='fly'><strong>Меню первого уровня. 2</strong></a>
<ul>
<li><a href='Ваша ссылка'><strong>Меню второго уровня. 1</strong></a></li>
<li><a href='Ваша ссылка'><strong>Меню второго уровня. 2</strong></a></li>
<li><a href='Ваша ссылка'><strong>Меню второго уровня. 3</strong></a></li>
<li><a href='Ваша ссылка'><strong>Меню второго уровня. 4</strong></a></li>
</ul>
</li>
<li><a href='Ваша ссылка' class='fly'><strong>Меню первого уровня. 3</strong></a>
<ul>
<li><a href='Ваша ссылка'><strong>Меню второго уровня. 1</strong></a></li>
<li><a href='Ваша ссылка'><strong>Меню второго уровня. 2</strong></a></li>
<li><a href='Ваша ссылка'><strong>Меню второго уровня. 3</strong></a></li>
<li><a href='Ваша ссылка'><strong>Меню второго уровня. 4</strong></a></li>
</ul>
</li>
</ul>
</li>
<li class='top'><a href='Ваша ссылка' id='' class='top_link'><span class='down'><strong>Меню. Кнопка 2</strong></span></a>
<ul class='sub'>
<li><a href='Ваша ссылка' ><strong>Меню первого уровня. 1</strong></a></li>
<li><a href='Ваша ссылка' class='fly'><strong>Меню первого уровня. 2</strong></a>
<ul>
<li><a href='Ваша ссылка'><strong>Меню второго уровня. 1</strong></a></li>
<li><a href='Ваша ссылка'><strong>Меню второго уровня. 2</strong></a></li>
<li><a href='Ваша ссылка' class='fly'><strong>Меню второго уровня. 3</strong></a>
<ul>
<li><a href='Ваша ссылка'><strong>Меню третьего уровня. 1</strong></a></li>
<li><a href='Ваша ссылка'><strong>Меню третьего уровня. 2</strong></a></li>
<li><a href='Ваша ссылка'><strong>Меню третьего уровня. 3</strong></a></li>
</ul>
</li>
<li><a href='Ваша ссылка' class='fly'><strong>Меню второго уровня. 4</strong></a>
<ul>
<li><a href='Ваша ссылка' class='fly'><strong>Меню третьего уровня. 1</strong></a>
<ul>
<li><a href='Ваша ссылка'><strong>Меню четвертого уровня. 1</strong></a></li>
<li><a href='Ваша ссылка'><strong>Меню четвертого уровня. 2</strong></a></li>
<li><a href='Ваша ссылка'><strong>Меню четвертого уровня. 3</strong></a></li>
</ul>
</li>
<li><a href='Ваша ссылка'><strong>Меню второго уровня. 3</strong></a></li>
<li><a href='Ваша ссылка'><strong>Меню второго уровня. 4</strong></a></li>
</ul>
</li>
</ul>
</li>
<li><a href='Ваша ссылка' ><strong>Меню первого уровня. 3</strong></a></li>
</ul>
</li>
<li class='top'><a href='Ваша ссылка' id='' class='top_link'><span><strong>Меню. Кнопка 2</strong></span></a></li>
</ul>
</div>
<style type="text/css">
/*------------------------------- Меню ------------------------------------*/
#nav {width: 100%; top:0; left:0; padding:0; margin: 0; list-style:none; height:35px; background:transparent url(http://s2.uploads.ru/Vgpzo.png) repeat-x; position:relative; z-index:500; font-family:arial, verdana, sans-serif;}
#nav li.top {display:block; float:left; height:38px;}
#nav li a.top_link {display:block; float:left; height:35px; line-height:33px; color:#D1EEEE; text-decoration:none; font-size:18px; font-weight:normal; padding: 0 0 0 4px; cursor:pointer; background: url(http://s2.uploads.ru/Vgpzo.png);}
#nav li a.top_link span {float:left; display:block; padding:0 24px 0 12px; height:35px; background: url(http://s2.uploads.ru/Vgpzo.png) right top no-repeat;}
#nav li a.top_link span.down {float:left; display:block; padding:0 24px 0 12px; height:35px; background: url(http://s2.uploads.ru/vObBI.png) no-repeat right top;}
#nav li:hover a.top_link,
#nav li.iehover a.top_link {color:#fff; background: url(http://s3.uploads.ru/JvITO.png) no-repeat; cursor:pointer;}
#nav li:hover a.top_link span,
#nav li.iehover a.top_link span {background: url(http://s3.uploads.ru/JvITO.png) no-repeat right top; cursor:pointer;}
#nav li:hover a.top_link span.down,
#nav li.iehover a.top_link span.down {background: url(http://s2.uploads.ru/qQOKD.png) no-repeat right top; cursor:pointer;}
/* Моделирование списка по умолчанию */
#nav li:hover {position:relative; z-index:200; cursor:pointer;}
#nav li:hover ul.sub
{left:1px; top:35px; background: #1F242B; padding:3px; border:1px solid #000; white-space:nowrap; width:245px; height:auto; z-index:300; cursor:pointer;}
#nav li:hover ul.sub li
{display:block; height:20px; position:relative; float:left; width:245px; font-weight:normal; cursor:pointer;}
#nav li:hover ul.sub li a
{display:block; font-size:12px; height:18px; width:242px; line-height:18px; text-indent:5px; color:#ccc; text-decoration:none; border:1px solid #1F242B; cursor:pointer;}
#nav li ul.sub li a.fly
{background:#1F242B url(http://s3.uploads.ru/kzSlM.png) 229px 6px no-repeat; cursor:pointer;}
#nav li:hover ul.sub li a:hover
{background:#607B8B; color:#000; border-color:#fff; cursor:pointer;}
#nav li:hover ul.sub li a.fly:hover
{background:#68838B url(http://s2.uploads.ru/YMr8N.png) 229px 6px no-repeat; color:#fff; cursor:pointer; left:1px;}
#nav li:hover li:hover ul,
#nav li:hover li:hover li:hover ul,
#nav li:hover li:hover li:hover li:hover ul,
#nav li:hover li:hover li:hover li:hover li:hover ul
{left:245px; top:-4px; background: #1F242B; padding:3px; border:1px solid #000; white-space:nowrap; width:245px; z-index:400; height:auto;}
#nav ul,
#nav li:hover ul ul,
#nav li:hover li:hover ul ul,
#nav li:hover li:hover li:hover ul ul,
#nav li:hover li:hover li:hover li:hover ul ul
{position:absolute; left:-9999px; top:-9999px; width:0; height:0; margin:0; padding:0; list-style:none;}
#nav li:hover li:hover a.fly,
#nav li:hover li:hover li:hover a.fly,
#nav li:hover li:hover li:hover li:hover a.fly,
#nav li:hover li:hover li:hover li:hover li:hover a.fly
{background:#607B8B url(http://s2.uploads.ru/YMr8N.png) 229px 6px no-repeat; color:#000; border-color:#fff;}
#nav li:hover li:hover li a.fly,
#nav li:hover li:hover li:hover li a.fly,
#nav li:hover li:hover li:hover li:hover li a.fly
{background:#1F242B url(http://s3.uploads.ru/kzSlM.png) 229px 6px no-repeat; color:#ccc; border-color:#fff; border:1px;}
</style>[/html]Код:<div class='nav'> <ul id='nav'> <li class='top'><a href='Ваша ссылка' id='' class='top_link'><span class='down'><strong>Меню. Кнопка 1</strong></span></a> <ul class='sub'> <li><a href='Ваша ссылка' class='fly'><strong>Меню первого уровня. 1</strong></a> <ul> <li><a href='Ваша ссылка'><strong>Меню второго уровня. 1</strong></a></li> <li><a href='Ваша ссылка'><strong>Меню второго уровня. 2</strong></a></li> <li><a href='Ваша ссылка'><strong>Меню второго уровня. 3</strong></a></li> <li><a href='Ваша ссылка'><strong>Меню второго уровня. 4</strong></a></li> </ul> </li> <li><a href='Ваша ссылка' class='fly'><strong>Меню первого уровня. 2</strong></a> <ul> <li><a href='Ваша ссылка'><strong>Меню второго уровня. 1</strong></a></li> <li><a href='Ваша ссылка'><strong>Меню второго уровня. 2</strong></a></li> <li><a href='Ваша ссылка'><strong>Меню второго уровня. 3</strong></a></li> <li><a href='Ваша ссылка'><strong>Меню второго уровня. 4</strong></a></li> </ul> </li> <li><a href='Ваша ссылка' class='fly'><strong>Меню первого уровня. 3</strong></a> <ul> <li><a href='Ваша ссылка'><strong>Меню второго уровня. 1</strong></a></li> <li><a href='Ваша ссылка'><strong>Меню второго уровня. 2</strong></a></li> <li><a href='Ваша ссылка'><strong>Меню второго уровня. 3</strong></a></li> <li><a href='Ваша ссылка'><strong>Меню второго уровня. 4</strong></a></li> </ul> </li> </ul> </li> <li class='top'><a href='Ваша ссылка' id='' class='top_link'><span class='down'><strong>Меню. Кнопка 2</strong></span></a> <ul class='sub'> <li><a href='Ваша ссылка' ><strong>Меню первого уровня. 1</strong></a></li> <li><a href='Ваша ссылка' class='fly'><strong>Меню первого уровня. 2</strong></a> <ul> <li><a href='Ваша ссылка'><strong>Меню второго уровня. 1</strong></a></li> <li><a href='Ваша ссылка'><strong>Меню второго уровня. 2</strong></a></li> <li><a href='Ваша ссылка' class='fly'><strong>Меню второго уровня. 3</strong></a> <ul> <li><a href='Ваша ссылка'><strong>Меню третьего уровня. 1</strong></a></li> <li><a href='Ваша ссылка'><strong>Меню третьего уровня. 2</strong></a></li> <li><a href='Ваша ссылка'><strong>Меню третьего уровня. 3</strong></a></li> </ul> </li> <li><a href='Ваша ссылка' class='fly'><strong>Меню второго уровня. 4</strong></a> <ul> <li><a href='Ваша ссылка' class='fly'><strong>Меню третьего уровня. 1</strong></a> <ul> <li><a href='Ваша ссылка'><strong>Меню четвертого уровня. 1</strong></a></li> <li><a href='Ваша ссылка'><strong>Меню четвертого уровня. 2</strong></a></li> <li><a href='Ваша ссылка'><strong>Меню четвертого уровня. 3</strong></a></li> </ul> </li> <li><a href='Ваша ссылка'><strong>Меню второго уровня. 3</strong></a></li> <li><a href='Ваша ссылка'><strong>Меню второго уровня. 4</strong></a></li> </ul> </li> </ul> </li> <li><a href='Ваша ссылка' ><strong>Меню первого уровня. 3</strong></a></li> </ul> </li> <li class='top'><a href='Ваша ссылка' id='' class='top_link'><span><strong>Меню. Кнопка 2</strong></span></a></li> </ul> </div> <style type="text/css"> /*------------------------------- Меню ------------------------------------*/ #nav {width: 100%; top:0; left:0; padding:0; margin: 0; list-style:none; height:35px; background:transparent url(http://s2.uploads.ru/Vgpzo.png) repeat-x; position:relative; z-index:500; font-family:arial, verdana, sans-serif;} #nav li.top {display:block; float:left; height:38px;} #nav li a.top_link {display:block; float:left; height:35px; line-height:33px; color:#D1EEEE; text-decoration:none; font-size:18px; font-weight:normal; padding: 0 0 0 4px; cursor:pointer; background: url(http://s2.uploads.ru/Vgpzo.png);} #nav li a.top_link span {float:left; display:block; padding:0 24px 0 12px; height:35px; background: url(http://s2.uploads.ru/Vgpzo.png) right top no-repeat;} #nav li a.top_link span.down {float:left; display:block; padding:0 24px 0 12px; height:35px; background: url(http://s2.uploads.ru/vObBI.png) no-repeat right top;} #nav li:hover a.top_link, #nav li.iehover a.top_link {color:#fff; background: url(http://s3.uploads.ru/JvITO.png) no-repeat; cursor:pointer;} #nav li:hover a.top_link span, #nav li.iehover a.top_link span {background: url(http://s3.uploads.ru/JvITO.png) no-repeat right top; cursor:pointer;} #nav li:hover a.top_link span.down, #nav li.iehover a.top_link span.down {background: url(http://s2.uploads.ru/qQOKD.png) no-repeat right top; cursor:pointer;} /* Моделирование списка по умолчанию */ #nav li:hover {position:relative; z-index:200; cursor:pointer;} #nav li:hover ul.sub {left:1px; top:35px; background: #1F242B; padding:3px; border:1px solid #000; white-space:nowrap; width:245px; height:auto; z-index:300; cursor:pointer;} #nav li:hover ul.sub li {display:block; height:20px; position:relative; float:left; width:245px; font-weight:normal; cursor:pointer;} #nav li:hover ul.sub li a {display:block; font-size:12px; height:18px; width:242px; line-height:18px; text-indent:5px; color:#ccc; text-decoration:none; border:1px solid #1F242B; cursor:pointer;} #nav li ul.sub li a.fly {background:#1F242B url(http://s3.uploads.ru/kzSlM.png) 229px 6px no-repeat; cursor:pointer;} #nav li:hover ul.sub li a:hover {background:#607B8B; color:#000; border-color:#fff; cursor:pointer;} #nav li:hover ul.sub li a.fly:hover {background:#68838B url(http://s2.uploads.ru/YMr8N.png) 229px 6px no-repeat; color:#fff; cursor:pointer; left:1px;} #nav li:hover li:hover ul, #nav li:hover li:hover li:hover ul, #nav li:hover li:hover li:hover li:hover ul, #nav li:hover li:hover li:hover li:hover li:hover ul {left:245px; top:-4px; background: #1F242B; padding:3px; border:1px solid #000; white-space:nowrap; width:245px; z-index:400; height:auto;} #nav ul, #nav li:hover ul ul, #nav li:hover li:hover ul ul, #nav li:hover li:hover li:hover ul ul, #nav li:hover li:hover li:hover li:hover ul ul {position:absolute; left:-9999px; top:-9999px; width:0; height:0; margin:0; padding:0; list-style:none;} #nav li:hover li:hover a.fly, #nav li:hover li:hover li:hover a.fly, #nav li:hover li:hover li:hover li:hover a.fly, #nav li:hover li:hover li:hover li:hover li:hover a.fly {background:#607B8B url(http://s2.uploads.ru/YMr8N.png) 229px 6px no-repeat; color:#000; border-color:#fff;} #nav li:hover li:hover li a.fly, #nav li:hover li:hover li:hover li a.fly, #nav li:hover li:hover li:hover li:hover li a.fly {background:#1F242B url(http://s3.uploads.ru/kzSlM.png) 229px 6px no-repeat; color:#ccc; border-color:#fff; border:1px;} </style>
Отредактировано Герда (27.10.12 06:37)