我一直在谷歌搜索和查询stackoverflow不少,但我还没有发现这个确切的问题在其他地方重复。这可能是我忘记的东西。CSS div覆盖在Internet Explorer中不可点击
我想要做的事:
通过按右或使用两部分覆盖左侧的图像制作导航。代码的工作方式与我在其他浏览器中所需的一样,我很高兴,直到我在IE中试用它。
这是我现在被屠杀的代码。我已经删除的DIV等右侧这不会对我在Internet Explorer 8中工作(没试过IE 7/9还),除非我要么:
- 设置背景色to .navi_left
- 删除.top 中的图像
- 如果我将内容放入.navi_left内容(例如文本)是可点击的,则在其他浏览器中可以点击完整的div。
在任何这些选项将使.navi_left可点击在IE 8.
在HTML生成:
<div class="image_div_big" style="width:600px;">
<div class="top">
<img src="../img/20110331-200524-1.jpg" class="image_big" width="600" height="450">
<div class="navi_left" id="172" style="width:312px;height:474px;"><!--placeholder--></div>
</div>
</div>
的CSS:
.image_div_big {float:left;}
.top {position:relative;width:100%;height:100%;}
.navi_left {cursor:pointer;cursor:hand;position:absolute;top:0px;left:0px;z-index:5;border:1px solid black;}
的JavaScript:
$('.navi_left').click(function(){
var id = $(this).attr('id');
if (id != '') {
window.location = '/index_temp.php?i='+id;
}
});
我的解决方案:
我终于同意我需要按照下面的建议去做。但是我拒绝有一个特定的IE浏览器的样式表,所以我只是做了它,因为这:
.navi_left {position:absolute;top:0px;z-index:5;background-color:#fff;-moz-opacity:0;opacity:0;filter:alpha(opacity=0);}
.navi_right {position:absolute;top:0px;z-index:5;background-color:#fff;-moz-opacity:0;opacity:0;filter:alpha(opacity=0);}
您的PHP代码与浏览器的行为和此问题无关。请显示您的PHP生成的HTML和JavaScript - 浏览器看到的 - 而是。 (理想情况下,在http:// jsfiddle上创建一个独立的,简化的,可重复的测试用例。净) – Phrogz 2011-03-31 20:54:33
使用生成的代码进行编辑。 – Mattis 2011-03-31 20:58:09
“我很高兴,直到我在IE中试用它” - 这应该被刻在史蒂夫鲍尔默的墓碑上。 – 2011-03-31 21:06:57