我试图在 IE8 中模拟将 RGBA 背景和框阴影应用于 div 的效果。如果我设置一个不透明的背景,我可以使用微软的“阴影”过滤器来成功实现盒子阴影效果。背景设置为“透明”,我可以通过应用“渐变”滤镜获得 RGBA 背景。但是,如果我尝试像这样组合两个过滤器,
div#translucentBG {
zoom : 1;
background : transparent;
filter:
progid:DXImageTransform.Microsoft.Gradient(StartColorStr=#80464646, EndColorStr=#80464646),
progid:DXImageTransform.Microsoft.Shadow(Color=#ffffff, Strength=5, Direction=0),
progid:DXImageTransform.Microsoft.Shadow(Color=#ffffff, Strength=5, Direction=90),
progid:DXImageTransform.Microsoft.Shadow(Color=#ffffff, Strength=5, Direction=180),
progid:DXImageTransform.Microsoft.Shadow(Color=#ffffff, Strength=5, Direction=270);
}
那么 div 将具有正确的框阴影但不透明的 #464646 背景。只需删除所有阴影过滤器,神奇地,div 再次变为半透明。这很令人沮丧。由于 IE 完美地分别渲染了这两种效果,我无法想象为什么在组合它们时会失败。我知道可能有可用的解决方法和替代方法,但我真正感兴趣的是为什么上述技术会失败。