IE7/IE8 z-index问题

use*_*408 13 css z-index internet-explorer-8 internet-explorer-7

在兼容模式下运行,下面的日历将在下面的文本框后面呈现.IE8显示我需要它的日历.

我的CSS

.MyCalendar .ajax__calendar_container 
{
border:1px solid #7F9DB9; 
background-color: #ffffff; 
z-index : 1004 ;   
width:190px;
}
Run Code Online (Sandbox Code Playgroud)

覆盖日历的文本框没有设置任何z-index,尽管我已经尝试在我的服务器端代码中将z-index设置为-1,如果我检测到IE7无效的话.有什么建议? alt text http://img62.imageshack.us/img62/7127/overlay.gif

rho*_*son 32

IE有z-index问题.大多数浏览器将页面视为一个连续堆叠上下文,但在IE中,定位元素生成新的堆栈上下文,从z-index值0开始.

如本文所述:

http://trwa.ca/2012/03/ie-z-index-bug-and-how-to-squash-it/

尝试给日历的父元素提供更高的z-index.

  • 这将是一个问题. (56认同)
  • 我不应该说IE7有"问题",它只是处理z-index与其他浏览器不同. (3认同)
  • 更准确一点:找到两个竞争元素具有兄弟祖先的点(它们都在同一元素内).将兄弟姐妹作为你想要在上面的元素的祖先,并给出*那个位置(例如位置:相对)和高z指数.它可能是父母,也可能更远. (2认同)