当光标在IE中包含文本时,整个div的链接不起作用

时间:2011-07-13 15:13:28

标签: html css internet-explorer

我有this code for demonstration。它使我的链接遍布整个div,这在Firefox中运行良好,但在IE中,当我将光标移动到文本上时,它会更改为文本光标,链接在那里不起作用...我尝试摆弄z-index但没有结果。 ..有什么建议吗?

我需要用自己的内容填充我的div与其他div,所以

a style="display: block"

不是一个选项,我也想避免使用像

这样的Javascript
onclick="location.href=

4 个答案:

答案 0 :(得分:5)

我有一个解决方案。在HTML5中,在<div>标记内使用<a>是有效的。但由于你无法改变你的语言,HTML4.01不允许<a>内的块元素,我建议伪造它。我的意思是在<span>标记内部使用<a>,并将其设置为<div>。这是一个工作示例:http://jsfiddle.net/DzpjT/11/

<强> HTML:

<body>
    <a href="http://www.google.com">
        <span class="fakediv">Annoying text la lallalalalalalalalal</span>
        <span class="fakediv">Annoying text la lallalalalalalalalal</span>
    </a>
</body>

<强> CSS:

a{
    display: block;
    width:700px;
    height:500px;
    margin: 10px;
    background-color: lightblue;
    color: black;
    text-decoration: none;
}
span.fakediv{
    float:left;
    clear: both;
    display: block;
    margin: 10px 20px;
    cursor: pointer;
}

答案 1 :(得分:1)

将您的代码更改为:

<a href="http://www.google.com/" style="display:block;position:absolute; width:100%; height:100%; top:0; left: 0; z-index: 10;"></a>

现在应该可以正常工作了。我将显示块添加到锚标记,这将使其表现得像div。

答案 2 :(得分:1)

就像brenjt所说,我认为你只需要为你的CSS添加一个height属性。他在那里扔了一些其他的东西也很好,但根据我的经验,你的CSS中没有明确设置高度,这通常会导致这种情况。

答案 3 :(得分:0)

我有同样的问题,但由于我试图覆盖的内容有标题和段落标记,我犹豫是否开始嘲笑css类,不必要地模仿段落和标题。

在我调试问题时,我为我的标签添加了背景颜色。这清楚地表明,标签完全覆盖了DOM中正上方的内容,就像它应该的那样。整个区域都是可点击的。删除背景颜色后,将鼠标悬停在文本上会将光标转换为插入图标,但未注册单击。

所以,看到我已经在页面上使用1px透明png(用于修复IE中的自定义字体),我只是将其设置为标签上的背景图像。

有效。