最近做了个软件,程序界面是用框架,最上边是菜单(div),当我鼠标放到div上边的时候会显示菜单, 
但是后来我发现在内容显示区域如果有listbox,或者dropdownlist控件时,下拉菜单(div)会被这类控件覆盖住, 
菜单显示不全。我这几天在网上搜索解决办法,发现这是html的一种通病,也找了些解决办法,有说修改z-index值的还有用iframe做div底的, 
这样就可以遮盖住这类控件,使div菜单正常显示,代码如下:   <iframe                       style="position:absolute;z-index:-1;width:e-xpression 
(this.nextSibling.offsetWidth);height:e-xpression(this.nextSibling.offsetHeight);top:e-xpression 
(this.nextSibling.offsetTop);left:e-xpression(this.nextSibling.offsetLeft);"               frameborder="0"> </iframe>   但是放到我的页面中还是不行,我在考虑:因为我用的是框架,是不是因为div跟这些控件不在一个页面的原因, 
请教各位给与解决方案,万分感激!谢谢。   下边是我页面div(下拉菜单)的代码 -----菜单内容是在后台绑定到(lbl1_z)这个控件中的 <DIV id="lbl1_1" onmouseover="lbl1_1.style.display='block'" style="DISPLAY: none; Z-INDEX: 1; POSITION: absolute" onmouseout="lbl1_1.style.display='none'">
<TABLE cellSpacing="0" cellPadding="0" width="94" border="0">
  <tr>
      <td height="15"></td>
  </tr>
</TABLE>
<TABLE class="xmenu" id="xmenu0" style="BORDER-RIGHT: #999999 1px solid; BORDER-TOP: #999999
 1px solid; BORDER-LEFT: #999999 1px solid; BORDER-BOTTOM: #999999 1px solid"height="30" 
cellSpacing="0" cellPadding="0" width="70" align="center" border="0">
  <TBODY>
<TR vAlign="top">
</TR>
<asp:label id="lbl1_z" runat="server"></asp:label>
  </TBODY>    
</TABLE>
</DIV> 

解决方案 »

  1.   

    四种方法:
    1)用iframe盖住
    2)显示div时隐藏dropdownlist
    3)避免他们撞到一起,改变div位置
    4)等待客户用IE7浏览器。
      

  2.   

    用iframe盖住不行,菜单跟控件不是在同一个页面中,菜单页面是固定的,但是显示页面是动态的,有时候遇到控件就会显示不完整了,在一个页面中相信用iframe可以解决,但是,菜单跟控件不是在一个页面中。