ciao a tutti.
non so come risolvere questo problema:
ho fatto un menu di navigazione verticale con dei sottomenu usando delle liste annidate.
I sottomenu si aprono quando si clicca su una voce di menu principale (grazie a un javascript che rende visibile un div) e le altre voci principali scorrono in basso:

Menu chiuso:
Menu1
Menu2
Menu3

Menu aperto:
Menu1
- Menu1a
- Menu1b
Menu2
Menu3


Tutto ok con firefox e IE6, ma con IE7 i sottomenu si sovrappongono alle voci principali sottostanti, che non scorrono verso il basso, come se il div col sottomenu avesse un posizionamento assoluto.

Questo è il codice html:
codice:
<ul class="menu">[*]<a onClick="toggleBox('menu0');" value="Show Div">Company Profile</a>
                            
    <div id="menu0" style="display: none;">
        <ul class="sottomenu">[*]Mission[*]Servizi[/list]
    </div>[*]<a onClick="toggleBox('menu1');" value="Show Div">Area Riservata</a>[/list]
Questo è il css:
codice:
.menu  { position:relative;  text-align:left; }
.menu ul { list-style-type:none; display:block;}              
.menu li {position:relative; display:block; height:36px; line-height:36px; width:160px; list-style-type:none;}    
.sottomenu  { font-size:10px; font-weight:bold; position:relative;
          text-decoration:none; text-align:left; margin:0; padding:0; color:#7F2201;}
.sottomenu ul {list-style-type:none; display:block;}              
.sottomenu li {display:block; height:20px; line-height:100%; width:140px;}
Questo è il javascript:
codice:
function toggleBox(menu)
{
    if(document.layers)       //NN4+
    {
       currStato = document.layers[menu].display;
       Stato = (currStato == "block" ? "none" : "block");        
       document.layers[menu].display = Stato;
    }
    else if(document.getElementById)      //gecko(NN6) + IE 5+
    {
        for(k=0;k<4;k++) {       //k<__  ci va il num totale dei div
            var currDiv = "menu" + k;
            var obj = document.getElementById(currDiv);    
            obj.style.display = "none";
        }
        var obj = document.getElementById(menu);
        currStato = obj.style.display;
        Stato = (currStato == "block" ? "none" : "block");        
        obj.style.display = Stato;
    }
    else if(document.all)    // IE 4
    {
        currStato = document.all[menu].style.display;
        Stato = (currStato == "block" ? "none" : "block");        
        document.all[menu].style.display = Stato;
    }
}
ho provato a togliere il div che racchiude i sottomenu e ad applicare il javascript direttamente nella ul del sottomenu, ma niente.
non riesco a capire dove sbaglio
qualcuno sa aiutarmi?
grazie!