html - 绝对定位的 anchor 标记(无文本)在 IE 中不可点击

标签 html css internet-explorer css-position

我有两个绝对定位在图像顶部的 anchor ,链接在其他浏览器(Chrome、FF、Safari)中可点击,但在 IE 中不可点击(目前已在 8 和 9 中测试)

奇怪的是,如果我给链接一个 background-color 它们是可点击的,但是如果 background-color 设置为 transparent(这就是我想要的)它们不再可点击,我也尝试设置 zoom:1 但没有成功。我猜想 IE 中的 hasLayout 位随 IE 8/9 一起消失了,所以猜测 zoom 现在对于此类问题并不重要。

有什么想法可以让这些链接在 IE 8/9 中显示为透明背景?

这是我一直在使用的 fiddle :jsFiddle example

我有以下 HTML 布局:

<div id="content">
    <img src="http://placehold.it/724x300" width="724" height="300" alt="woot" />

    <div id="countdown"></div>

    <a id="link1" href="http://www.stackoverflow.com" title="link1"></a>
    <a id="link2" href="http://www.stackoverflow.com" title="link2"></a>
</div>

和 CSS:

body {text-align:center;}
#content {position:relative; width:724px; height:300px; margin:0 auto;}

#countdown {position:absolute; width:650px; height:110px; top:100px; left:30px; background-color:blue;}

#link1 {position:absolute; width:520px; height:35px; bottom:20px; left:0;}
#link2 {position:absolute; width:200px; height:35px; bottom:20px; right:0;}

最佳答案

我以前遇到过这个确切的问题,它一直让我很恼火。我永远不确定为什么会这样,但我总是创建一个 1px x 1px 的透明 PNG(或 GIF)并在你的背景声明中使用它,如下所示:

a { background: url("/path/to/image.png") 0 0 repeat; }

希望这对您有所帮助。

PS - 不要为此指定任何实际的背景颜色。只需使用上面的示例,它应该可以工作。

除此之外,尝试将您的 anchor 标记设置为显示为 block ,或许还可以在其中插入一个不间断的空格(因为此时它们是空的,这可能会使 IE 崩溃):

a { display: block; background: url("/path/to/image.png") 0 0 repeat; }

<a href="#">&nbsp;</a>

关于html - 绝对定位的 anchor 标记(无文本)在 IE 中不可点击,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6914822/

相关文章:

html - 内联 block 元素与另一个内含 block 元素的内联 block 元素不在一条直线上

css - 信不信由你,Internet Explorer 的一个 css 问题

javascript - 重定向到网页没有发生

javascript - 使用 HandleBars 模板删除行

html - 使旋转的 SVG 元素的子文本直立

asp.net - 输入按钮不提交表单(仅限 IE)ASP.NET

html - 列表项元素符号在 IE6 和 IE7 中消失

javascript - 开发实时协作绘图系统

reactjs - 如何在中心设置 reactstrap modal-header 的内容?

css - 导航栏被 Bootstrap 中的覆盖层覆盖 [仅在 safari 中]