Я делал что-то подобное раньше, и это хитрость, которая заключается в размещении пунктов меню в тегах привязки, с подменю в скрытых элементах div ВНУТРИ этих тегов привязки. Хитрость CSS заключается в том, чтобы заставить внутренний div появляться во время события a: hover.
Это выглядит примерно так:
<style>
A DIV { display: none; }
A:hover DIV { display: block; }
</style>
<a href="blah.htm">
Top Level Menu Text
<div><ul>
<li><a href="sub1.htm">Sub Item 1</a></li>
<li><a href="sub2.htm">Sub Item 2</a></li>
<li><a href="sub3.htm">Sub Item 3</a></li>
</ul></div>
</a>
Ваш пробег может варьироваться ...
РЕДАКТИРОВАТЬ: Internet Explorer 6 и ниже НЕ поддерживает псевдокласс: hover для других элементов, кроме A. В более «современных» браузерах принято использовать этот трюк с LI, TD, DIV, SPAN и большинство любых тегов.