Ciao,

ho un dropdown menu realizzato coi CSS sul mio sito.

Funziona molto bene su tutti i browser. L'unico problema l'ho con Internet Explorer 5 e 6, dovo le voci di menu non prendono il float e stanno una sotto l'altra anzichè affiancate.

Il markup è semplicemente una Unordered List con <ul> e[*].

Il CSS è
Codice PHP:
"dynamicMenu.css"

#menu {
    /*
    width: 100%;
    */
    
background#eee;
    
floatleft;
    
}

#menu ul {
    
list-stylenone;
    
margin0;
    
padding0;
    
/* width: 12em; */
    
floatleft;
    
z-index30;    /* Senza z-index i sottomenu appaiono al di sotto del testo in home page */
    
}

#menu a, #menu h2 {
    
fontbold 11px/16px arialhelveticasans-serif;
    
displayblock;
    
/*
    border-width: 1px;
    border-style: solid;
    border-color: #ccc #888 #555 #bbb;
    */
    
margin0;
    
padding2px 3px;
    
}

#menu h2 {
    /*
    color: #fff;
    background: #000;
    text-transform: uppercase;
    */
    
}

#menu a {
    
    /*color: #000;
    background: #efefef;
    text-decoration: none;
    */
    
}

#menu a:hover {
    
color#a00;
    
background#fff;
    
}

#menu li {position: relative;}

#menu ul ul ul {    /* Dubbio: questo selettore a cosa serve? Agli eventuali menu di terzo livello? */
    
positionabsolute;
    
top0;
    
left100%;
    
    
z-index10;
    
}

#menu ul ul {
    
positionabsolute;
    
z-index50;
    
top100%;
    
left0;    /*    Altrimenti su IE7 i sottomenu sono disallineati dal menu */
    
}

div#menu ul ul {
    
displaynone;

}

div#menu ul li:hover ul
{displayblock;}

div#menu ul ul,
div#menu ul li:hover ul ul,
div#menu ul ul li:hover ul ul
{displaynone;}

div#menu ul li:hover ul,
div#menu ul ul li:hover ul,
div#menu ul ul ul li:hover ul
{displayblock;}

body {
    
behaviorurl(csshover2.htc);
}

#menu a {
    
padding-left5.5em;


Codice PHP:
"menu.css"

@import url("dynamicMenu.css");

#menu {
    
width100%;
    
background-color#2F495D;
    
}

/* Menu principale */

#menu ul {
    
positionrelative;
    
    list-
stylenone;
    
margin0;
    
padding0;
    
}

#menu ul li, #menu ul li a {
    /* Posizione */
    
floatleft;
    
/*
    height: 20px;
    */
    
    /* Stile */
    
padding0;
    
background-color#2f495d;
    
color#fff;
    
    
font-weightbold;
    
font-size90%;
    
}

#menu ul li a {
    /* Stile */
    
text-decorationnone;
    
padding3px 5px;
    
margin1px;
}

#menu ul li:hover a {
    
text-decorationunderline;
}

#menu ul li:hover, #menu ul li:hover a {
    
background-color#B53B48;
    
color#fff;
}

#menu ul li:hover ul, #menu ul li:hover ul li, #menu ul li:hover ul li a {
    
background-color#d7848c;
    
color#fff;
}


/* Sottomenu */

#menu ul ul {
    /* Posizionamento 
    position: absolute;
    right: 10%;
    
    display: none;
    width: 300px;
    */
    /* Stile */
    
}

#menu ul li:hover ul{
    /* Posizionamento */
    
displayblock;    /* NB: Fa apparire i sottoelementi */
    
}


div#menu ul li ul li:hover {
    
background-color#d7848c;
    
font-size110%;
}

/* Menu */

li.no_linkli.no_link:hover {
    
}

li.no_link:hover a {
    
cursor: default;
    
displaynone;
    
background-color#20b2aa;
    
font-size100%;
}

#menu ul ul li {
    
clearboth;    /* Altrimenti i menu con il nome troppo corto si accavallano */
}

#menu ul ul {
    
border-left1px solid #B53B48;

Codice PHP:
"ie.css"

/* CSS per IE */
    
    
body {
        
font-size.8em;
    }
    
    
    
/* Menu orizzontale */
    #menu a, #menu li{
        
displayinline;
        
floatleft;
        
margin1px;
        
        
/* 
            Su IE è indispensabile impostare una larghezza fissa.
            Per rednerlo più eterogeneo allora qua si alline il testo al centro
         */
        
width100px;
        
text-aligncenter;
        
    }
    
    
#menu ul ul a{
        /* L'allineamento del testo dei sottomenu però lo vogliamo sempre laterale a sinistra */
        
text-alignleft;
    
    } 
Come posso risolvere l'anomalia?