css - 透明 Div 后面的可点击图像映射 - 在 IE 中工作

标签 css z-index imagemap

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

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

我的问题是,为什么 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>

最佳答案

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

Internet explorer 8 event fall through transparent parents

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

关于css - 透明 Div 后面的可点击图像映射 - 在 IE 中工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12535096/

相关文章:

html - 图像 map 未正确调整大小

html - CSS 导致元素向上移动

html - CSS垂直定位,未知高度

css - 清除 : right when use float:right 的问题

html - 我怎样才能让这个 <div> 居中?

css - 为什么 z-index 不起作用?

css - 图像未显示/z-index 未按预期工作

javascript - 如何使用 javascript 对象制作图像 map

php - 使用 PHP 在悬停时显示图像