Rozwijane menu (zwany także "hover menu") - menu, które prezentuje tylko podstawowy poziom zagłębienia - kolejne poziomy dostępne są po wywołaniu określonej akcji - w tym wypadku najechania kursorem na element, który posiada kolejne poziomy zagłębień.
<div id="container"> <div id="obj"> <div id="sMenu"> <ul> <li> <a href="#">Item level 1 »</a> <ul> <li><a href="#">Item level 2</a></li> <li><a href="#">Item level 2</a></li> <li> <a href="#">Item level 2 »</a> <ul> <li><a href="#">Item level 3</a></li> <li><a href="#">Item level 3</a></li> </ul> </li> </ul> </li> <li> <a href="#">Short »</a> <ul> <li><a href="#">No menu</a></li> <li> <a href="#">Short »</a> <ul> <li><a href="#">No menu</a></li> <li> <a href="#">Short »</a> <ul> <li><a href="#">No menu</a></li> <li> <a href="#">Short »</a> <ul> <li><a href="#">No menu</a></li> <li> <a href="#">Short »</a> <ul> <li><a href="#">No menu</a></li> <li> <a href="#">Short »</a> <ul> <li><a href="#">No menu</a></li> <li> <a href="#">End :]</a> </li> </ul> </li> </ul> </li> </ul> </li> </ul> </li> </ul> </li> </ul> </li> <li><a href="#">Item level 1</a></li> <li><a href="#">Item level 1</a></li> <li> <a href="#">Item level 1 »</a> <ul> <li><a href="#">Item level 2</a></li> <li><a href="#">Item level 2 longer</a></li> <li> <a href="#">Item level 2 uba long string »</a> <ul> <li><a href="#">Item level 3</a></li> <li><a href="#">Item level 3 longer</a></li> </ul> </li> <li><a href="#">Item level 2 longer</a></li> </ul> </li> </ul> </div> </div> </div>
/**
* Klasa do obslugi rozwijanego menu
*
* By dzialalo pod IE6 wymagany jest dodatkowy skrypt JS:
*
* <!--[if lt IE 7]>
* <script src="http://ie7-js.googlecode.com/svn/version/2.0(beta3)/IE7.js" type="text/javascript"></script>
* <![endif]-->
*/
html, body {
font-size: 11px;
font-family: Verdana;
}
div#obj {
background: #3d3d3d;
width: 740px;
margin: 0px auto;
height: 250px;
}
div#sMenu {
background: black;
height: 20px;
}
div#sMenu a {
color: white;
text-decoration: none;
}
div#sMenu ul,
div#sMenu li {
margin: 0px;
padding: 0px;
}
div#sMenu li {
list-style: none;
list-style-image: none;
position: relative;
padding: 3px 5px;
white-space: nowrap;
}
div#sMenu ul li:hover {
background: red;
}
/**
* Poziome menu pierwszego poziomu
* - nie mozna uzyc >, IE6
*/
div#sMenu > ul li {
float: left;
}
div#sMenu ul ul li {
float: none;
}
/**
* Menu kolejnych poziomow
*/
div#sMenu ul ul {
z-index: 50;
display: none;
position: absolute;
top: 19px;
border-left: 1px solid red;
}
div#sMenu li:hover > ul {
display: block;
}
/**
* Menu drugiego poziomu - pierwsze rozwiniecie
*/
div#sMenu ul ul {
left: 0px;
}
div#sMenu ul ul ul {
left: 100%;
top: 0px;
z-index: 75;
}