制作网页时,做了一个弹出窗口,IE9+/Chrome/Firefox都能将底层链接遮罩,但IE6/7/8不能遮罩,请问怎么办?
具体代码如下:

登录后复制


回复讨论(解决方案)

rgba这个透明不兼容,需要用特别的工具来处理掉。
CSS背景颜色属性值转换 v3
在线效果
完整代码:

登录后复制

To jikeytang:

弹窗出现后,仍然没有遮罩住“新浪网”这个链接,请再帮忙看看。(IE8测试)

演示: http://a7d.net46.net/dark_mask_for_IE.php

IE 系仅在 IE8 测试

登录后复制

把 mask 放在 shadow 里最前面位置

    
...
登录后复制

只需给 shadow 设置一个足够大的 z-index 就行了, 其他的 z-index 都不需要了;

如果把 shadow 放在 body 的最后部, 在没有用其他 z-index 的情况下, shadow 也不用设置 z-index 了

3楼 用了一个 mask 是多余的, 只需要给 shadow 加上低版本 IE 专用的 CSS 就行了
演示: http://a7d.net46.net/dark_mask_for_IE.php

登录后复制

To neorobin:

5楼的代码在IE8下通过了,非常感谢!再请教一下,IE6下怎么办呢?

演示: http://a7d.net46.net/dark_mask_for_IE.php
IE 6: height: 100%; 不支持; a>b 选择器不支持.

以下代码 IE6 已测试通过. IE7 没安装, 没做测试

登录后复制

neorobin,真牛! IE6/8都成功了!IE7虽然有点问题,但基本不影响了。对了,请教一下,我是用ieTester测试的,可以吗?

neorobin,真牛! IE6/8都成功了!IE7虽然有点问题,但基本不影响了。对了,请教一下,我是用ieTester测试的,可以吗?



我没有用过 IETESTER, 搜了下, 微软自己也提供了一个 https://www.modern.ie/zh-cn, 还有个与它合作的 BrowserStack. 收费的, 我觉得开发完成前可以用下这些虚拟的浏览器软件或者服务, 到最后还是在实机真实浏览器上跑最有保证

09-17 11:10