Sei un grande

Non c'è stato neanche bisogno di mettere il z-index ho semplicemente risolto così:

codice:
<style>
     ul, li{
          margin:0;
          padding:0;
     }
     ul{
          list-style:none;
     }
     #nav li{
          float:left;
          margin-left:30px;
          position:relative; 
     }
     #nav li a{
          display:block;
          width:100px;
          text-align:center;
          background-color:rgba(0,0,0,0.2);
          border-radius:1em;
          box-shadow:0 3px 5px #666666;
          text-decoration:none;
          color:#F3EA3A;
     }
     #nav li a:hover{
          background-color:rgba(0,0,0,0.4);
     }
     #nav li ul{
          display:none;
          position:absolute; 
     }
     #nav li:hover ul{
          display:block;
     }
     #nav li ul li{
          float:none;
          margin:5px 0 0 0;
     }
</style>
Sinceramente non capisco perchè se in absolute i li del menu principale e in relative il sottomenu questo non mi provoca più l'adattamento da parte del div menu.

Se hai pazienza potresti spiegarmi cosa succedeva prima e cosa succede ora?