我想我刚才询问了相反的问题(允许鼠标事件通过图像上的透明区域 - 我最终使用了图像映射)但是无论如何:
当对话框出现时我需要一个遮罩元素。过去我用过:
position:fixed;
left:0;top:0;right:0;bottom:0;
background:#000000;
opacity:0;
filter:alpha(opacity=0);
它有效,但它有点像“黑客”。
我无法使用background:transparent
来获取拦截鼠标事件的元素。这是故意的吗?除了上述之外,还有什么方法吗?或者以上是此问题的最佳解决方案?
答案 0 :(得分:0)
background:transparent
的问题似乎是IE特有的(在IE7 / 8/9中测试过)。这在其他浏览器中不是问题。
它也特定于HTML表单元素。例如,它在IE中适用于段落标记内的文本,但不适用于按钮标记。很可能它是IE中的渲染错误,而不是微软经过深思熟虑的工程决策的结果。以前在IE6中存在类似的问题,选择框没有与position:absolute
正确分层。
在这种情况下,使用opacity
比background:transparent
更安全。如果更改蒙版的opacity
使其部分透明而不是完全透明,则可能感觉不像黑客。