5

我有这种大数据输入页面,一种使用 div 的表格布局。每行都有可以打开/关闭的子行。使用 css 可见性设置触发切换。表格的每个“单元格”的角落都有一个小图像,单击图像,会打开一个弹出窗口,允许您在条目上添加注释。

这个弹出窗口有一个文本区域和一组复选框,还有一个按钮(我认为输入类型=提交)。弹出窗口是嵌套在隐藏 div 内的 iframe。

在 IE7 中,一旦您弹出打开此注释 iframe 并向下滚动页面,将鼠标悬停在弹出窗口的文本区域上会使其消失并在其下方显示页面内容。当您将鼠标悬停时,复选框还会显示下面的页面。

所以,我尝试了一些不同的修复方法。Z-index 是我希望可以用来解决这个问题的。没有这样的运气。我可能会尝试用普通输入 type=text 替换文本区域,但由于复选框也出现此错误,我怀疑单行文本输入也会导致错误。

4

4 回答 4

9

最简单的触发方法hasLayout(在另一篇文章中提到)是添加zoom: 1.

在调试一些最愚蠢的 IE 6/7 显示问题时,我有时会转储一个临时的

* {
    zoom: 1;
}

到我的 CSS 看看是否有任何变化。如果是这样,我开始有选择地将它添加到以元素开头的元素、元素的父/子等。

zoom仅受 IE 支持,因此在您的文档中包含它是非常“安全”的。它还使您不必做任何疯狂的事情,例如绝对定位元素等。

于 2008-09-30T11:25:25.277 回答
6

除了块元素之外,z-index 还适用于所有具有 IE 调用 hasLayout 的元素阅读更多

于 2008-09-30T06:32:33.513 回答
2

如果我没记错的话,Z-Index 仅适用于绝对定位的块元素。所以尝试将弹出框的位置设置为绝对,然后尝试z-index。如果您需要弹出窗口位于某个位置,请将包装元素设置为相对位置。我以前遇到过这个问题,我相信我按照我描述的方式解决了它。

于 2008-09-30T02:33:06.320 回答
1

我在 IE7 中的输入字段和文本区域都遇到了完全相同的问题,但前提是我给了它们一个宽度。

我不记得我从哪里得到它,但我找到了这个解决方案,它可能不是很优雅,但它解决了这个问题。只需添加:

filter:alpha(opacity=100)

到麻烦字段的样式属性的CSS。

于 2009-04-29T09:39:24.480 回答