Выпадающее меню на CSS
Как сделать выпадающее меню ограничиваясь только средствами HTML и CSS, без использования скриптов. Источником сего примера является полезнейший ресурс cssplay.co.uk/menus/dd_valid.html. На сайте много различных примеров кода.
Пример выпадающего меню на основе html и css можно скачать бесплатно здесь.
HTML код меню выглядит так:
- <div class=menu>
- <ul>
- <li><a class=hide href=#>Раздел 1</a>
- <!--[if lte IE 6]>
- <a href=#>Раздел 1
- <table><tr><td>
- <![endif]-->
- <ul>
- <li><a href=#>Страница 1</a>
- <li><a href=#>Страница 1.1</a>
- <li><a href=#>Страница 1.2</a>
- </ul>
- <!--[if lte IE 6]>
- </table>
- </a>
- <![endif]-->
- </li>
- <li><a class=hide href=#>Раздел 2</a>
- <!--[if lte IE 6]>
- <a href=#>Раздел 2
- <table><tr><td>
- <![endif]-->
- <ul>
- <li><a href=#>Страница 2</a>
- <li><a href=#>Страница 2.1</a>
- <li><a href=#>Страница 2.2</a>
- <li><a href=#>Страница 2.3</a>
- <li><a href=#>Страница 2.4</a>
- <li><a href=#>Страница 2.5</a>
- </ul>
- <!--[if lte IE 6]>
- </table>
- </a>
- <![endif]-->
- </li>
- </ul>
- </div>
Вы можете добавить дополнительные разделы, при этом необходимо будет изменить в CSS ширину меню. Как вы видите в примере используются условные комментарии, с дополнительным кодом. Это необходимо для браузера IE6.
CSS код:
- .menu{font-family:ubuntu,arial;width:212px;height:100px;position:relative;font-size:11px;z-index:8}
- .menu ul li a,.menu ul li a:visited{display:block;text-decoration:none;width:104px;height:20px;text-align:center;color:#fff;border:1px solid #fff;background:#710;line-height:20px;font-size:11px;overflow:hidden}
- .menu ul{padding:0;margin:0;list-style:none}
- .menu ul li{float:left;position:relative}
- .menu ul li ul{display:none}
- .menu ul li:hover a{color:#fff;background:#36f}
- .menu ul li:hover ul{display:block;position:absolute;top:21px;left:0;width:105px}
- .menu ul li:hover ul li a{display:block;background:#ddd}
- .menu ul li:hover ul li a:hover{background:#6fc}
- .menu ul li a.hide,.menu ul li a:visited .hide{display:none}
- .menu ul li a:hover{color:#fff;background:#36f}
- .menu ul li a:hover ul{display:block;position:absolute;top:21px;left:0;width:105px}
- .menu ul li a:hover ul li a{display:block;background:#ddd}
- .menu ul li a:hover ul li a:hover{background:#6fc}
Пример работает во всех наиболее популярных браузерах, включая IE6. Для корректной работы меню необходимо указать тип документа (устарело. 2019).