我在处理 IE8 和 Websphere 6.1 时遇到了一个奇怪的不透明度问题。
有一个非常基本的不透明度设置,我们在某个屏幕上方有一个模态类型对话框。我在后台的屏幕顶部放置了一个不透明的 div,因此用户无法单击任何控件但可以看到它,然后在顶部添加对话框并强制他们回答问题。看起来很基本,很容易做到。
这是用于创建上述不透明效果的 css:
.wipeOutDiv {
top: 0px;
left: 0px;
position: absolute;
width: 100%;
height: 100%;
background-color: #d9d9d9;
filter: alpha(opacity=70);
opacity: 0.70;
}
这是用于创建对话框的 CSS:
.dialogBox {
position: absolute;
width: 350px;
margin: auto;
z-index: 1;
background-color: white;
border-top:12px solid;
border-top-color: #ffd93f;
border-left: 2px solid;
border-right: 2px solid;
border-bottom: 2px solid;
border-color: #ffd93f;
padding: 8px;
top: 40%;
left: 40%;
font-family: arial;
font-size: 8pt;
}
该方案在所有浏览器的开发中都能正常工作。在我的机器上本地运行良好,在集成环境上也运行良好。以为我很清楚。
但是,一旦进入我们的 ST 环境或更高版本,不透明度在 IE8 中无法正常工作。它仍然适用于 Chrome 和 FF,但由于某种原因 IE8 无法正常工作。使用 'wipeOutDiv' CSS 类的 div 变得完全可靠,看起来很奇怪。我尝试过修改 IE 的浏览器模式和文档模式,但我所做的任何更改都无法让它在这些环境中工作。
我比较了环境之间的 DOM 文档,它们是相同的。留给我的唯一变量是应用程序服务器本身,在本例中是 Websphere 6.1。我注意到一个区别是它工作的环境是通过 http 提供的,而它不是 https 的环境。这似乎更像是一个巧合,而不是真正的根本原因。
我很生气。有人有什么建议或类似的经历吗?