Sto penando con un menu a tendina verticale con sottomenu...

Il codice XHTML è questo:

codice:
<ul id="buttons">
        <li id="punto1">Punto 1
        <li id="punto2">Punto 2
        <li id="punto3">Punto 3
         <ul id="buttons">
            	<li id="punto31">Punto 3.1
                <li id="punto32">Punto 3.2[/list]
        
        <li id="punto4">Punto 4
        	<ul id="buttons">
            	<li id="punto41">Punto 4.1
                <li id="punto42">Punto 4.2[/list]
        
        <li id="punto5">Punto 5
	[/list]
Il CSS è questo:
codice:
#buttons {
	width: 424px;
	margin: 0;
	padding: 0;
	list-style: none;
	}

#buttons li {
	margin: 0; padding: 0;
	display: inline;
	list-style-type: none;
}

#buttons a {
	float: left;
	padding: 0 0 0 300px;
	overflow: hidden;
	width: 0px; 
}

#buttons a:hover { background-position: 0 -31px; }
#buttons a:active, #buttons a:selected { background-position: 0 -31px; }
#punto1 a { height: 31px; background: url(i/buttons/punto1.jpg) top left no-repeat; }
#punto2 a { height: 31px; background: url(i/buttons/punto2.jpg) top left no-repeat; }
#punto3 a { height: 31px; background: url(i/buttons/punto3.jpg) top left no-repeat; }
#punto31 a { height: 31px; background: url(i/buttons/punto31.jpg) top left no-repeat; }
#punto32 a { height: 31px; background: url(i/buttons/punto32.jpg) top left no-repeat; }
#punto4 a { height: 31px; background: url(i/buttons/punto4.jpg) top left no-repeat; }
#punto41 a { height: 31px; background: url(i/buttons/punto41.jpg) top left no-repeat; }
#punto42 a { height: 31px; background: url(i/buttons/punto42.jpg) top left no-repeat; }
#punto5 a { height: 31px; background: url(i/buttons/punto5.jpg) top left no-repeat; }

#buttons li ul{
display: none;
}


#buttons li:hover ul{
display:block;
position:relative;
z-index:1000;
width:400px;
padding: 0;
margin: 0 0 0 233px;
}
Il problema è che quando punto col mouse su una voce del menu che ha delle voci di livello più basso, appare il sotto-menu, ma fa scorrere in basso le voci sottostanti.

Ci sono stato su molto tempo, ma no sono riuscito ancora a trovare una soluzione. Qualche idea???


Grazie!