In Internet explorer il controllo SELECT e' "windowed" mentre i controlli DHTML (come il DIV) sono "windowless".

http://support.microsoft.com/default.aspx?scid=kb;en-us;177378

In internet explorer non c'e' modo in una pagina HTML di mettere un DIV sopra ad un SELECT (specificando uno z-index piu' alto) perche' i controlli windowed rimangono sempre sopra ai windowless.

Il metodo piu comune per aggirare questa "feature" di IE e' quello di mettere un IFRAME delle stesse dimensioni del DIV nascosto sotto al DIV stesso. Il controllo IFRAME e' l'unico che supporta lo z-index verso sia i controlli windowed che windowless.

Purtroppo questo trucco funziona solo da IE 5.5 in poi, perche' in IE 5 anche il controllo IFRAME era windowed e se messo nella stessa posizione di un DIV, lo ricoprirebbe.

La soluzione inquesto caso e' un po' piu complessa. Bisogna creare un IFRAME e riempirlo con il contenuto del DIV, e mostrare solo l'IFRAME. In questo caso pero' si introdurrebbero molti problemi di gestione perche' IFRAME e' una pagina HTML a se stante. Uno dei problemi maggiori riguarda gli eventi generati all'interno del IFRAME che non sarebbero visibili nella pagina originale.

Fonti :

http://www.macridesweb.com/oltest/IframeShim.html

http://www.mycgiserver.com/~onlineshop/DivOver.htm

powered by IMHO 1.3