我的页面上有这个(简化的)DOM:
<div id="Cover" style="display: none;"></div>
<div class="body">
<div id="header">
<div class="controlContainer">
<div id="FirstSelectorContainer">
<div id="FirstLink"><a href="/scriptlessfallback">Open Link</a></div>
<div id="FirstLinkChoice"><a href="/test">I should be clickable</a></div>
</div>
</div>
</div>
</div>
#Cover
有这个 CSS:
#Cover
{
background-color: white;
filter: alpha(opacity=50);
opacity: 0.5;
-moz-opacity: 0.50;
z-index: 600;
position: fixed;
top: 0;
left: 0;
right: 0;
bottom: 0;
}
#FirstLinkChoice
有这个CSS:
#FirstLinkChoice
{
width: 616px;
height: 77px;
position: absolute;
right: 144px;
border: 1px solid #424242;
z-index: 800;
background-color: white;
padding: 4px;
text-align: left;
display: none;
}
此脚本将点击事件添加到#FirstLink
:
$(document).ready(function () {
if ($("#FirstLink").length) {
$("#FirstLink").click(function () { $("#FirstLinkChoice").show(); dimOn(); return false; });
}
});
display
(dimOn,只需使用 CSS属性激活封面。)
期望的结果是当有人点击#FirstLink
封面越过页面并且内容#FirstLinkChoice
可供选择时。
这似乎适用于除 IE7 之外的所有浏览器,它会#Cover
覆盖整个页面,包括#FirstLinkChoice
尽管 z-index 较低。
我需要改变什么才能让它在 IE7 中工作?不幸的是,我在生产中被这种嵌套结构所困扰。
我完全可以使用基于 Javascript 的解决方案(没有 javascript,链接将退回到具有与弹出窗口类似的信息的页面)或仅适用于 IE7 的特殊 CSS,因为我将使用条件样式表。