1

在我得到一堆反对票之前,我想指出我认为我理解它为什么不起作用,但我想看看社区中是否有人曾经遇到过这种困境,以及他们能够做什么,如果有的话来克服这个问题。

所以,我有一个可点击的图像地图。出于不重要的原因,它被放入作为<body>标签的第二个孩子存在的 div(我们称之为 B)中。然后,这个 div 兄弟(我们称它为 A)包含整个页面包装器和站点内容的其余部分。这意味着 B 几乎可以用作背景图像,而 A 拥有整个站点。A 中有一个透明的 div,它填补了一个空白,让 B 可以通过(显示)。不幸的是,我的客户决定他想制作一个图像地图,但保持标记不变。图像映射完成了它应该做的事情并且在 IE 中是可点击的,但是,在更好的浏览器(Chrome、FF)中,图像映射不可点击,因为理论上 A 与 B 重叠,从而使图像映射不可用。

我的问题是,为什么 IE 可以正常工作而 FF 和 Chrome 却失败了?而且,我可以使用什么样的方法来强制 FF 理解虽然 B 在 A 后面,但我需要 B 是可点击的?这甚至可能吗?CSS Z 索引?任何事物...?

标记来解释情况:

<div id="wrap" class="A">Site Content</div>
<div id="bg" class="B"><img src="" /><map></map></div>
4

1 回答 1

1

只有 IE 允许事件“通过”透明元素。就像cimanon所说的那样,这并不意味着它的行为正确

Internet explorer 8 事件通过透明父母坠落

您可以将点击事件从 A 的透明区域传递到 B,但这需要大量的 javascript-ing。您的问题没有 CSS 解决方案。

于 2012-10-16T12:31:31.977 回答