【发布时间】:2013-04-28 16:14:51
【问题描述】:
我有一个问题应该很简单,但处理起来却非常令人沮丧。首先,我想声明我正在尝试在浏览器之间实现最大的兼容性,并希望尽可能使这个 HTML5 兼容。
我要做的是创建一个块区域链接,其中包含一个 img 和一个 h3 标签。
不久前我最初的尝试是执行以下操作:
<div class="link-block">
<a href="#">
<img>
<h3>Title</h3>
</a>
</div>
虽然(据我所知)根据 HTML5 规范在锚标记中包含标头标记是有效的,但在处理旧版本的 Internet Explorer 时会导致一个奇怪的问题,因为该链接并不总是可点击的。 (但是,这个问题可能是由于该站点的结构略有不同)
现在,另一方面,我想我会做一个稍微不同的想法,应该以更向后兼容的方式实现相同的事情,那就是做这样的事情:
<div class="link-block">
<a href="#"></a>
<img>
<h3>Title</h3>
</div>
CSS 标记为:
.link-block{
position: relative;
}
.link-block a{
width: 100%; height: 100%; display: block;
position: absolute; top: 0; left: 0;
}
这在我尝试过的所有浏览器(Opera、Firefox、Chrome、Safari)中都运行良好——除了 Internet Explorer。我正在用 IE10 尝试它,它决定——无论何时你将鼠标悬停在该区域上——唯一可点击的区域是图像或 h3 标签未覆盖的区域。
我上面的第二种方法在技术上无效吗?我知道 IE 在正确显示内容时往往会遇到很多问题,但我认为 IE10 应该最终解决了他们的很多问题。
实现我想要做的事情的正确方法是什么?
谢谢!
编辑:我还应该注意我已经玩过<a> 标签的z-index,以及<h3> 和<img> 标签;它仍然给 IE 带来同样的问题。
【问题讨论】:
-
在
a元素中仅使用img和h3有什么问题?请具体说明:哪些浏览器针对哪些特定标记和 CSS 表现出哪些问题行为?您认为为什么需要div包装器,它与问题有何关系? -
问题出在 IE 中,当它处于兼容模式时,导致该块的某些区域无法点击。周围的 div 只是为了更接近我的代码
-
那就不要把IE设置成兼容模式。而原来的问题还不清楚。请提供一个独立的示例,并确定哪个块的哪个特定部分在哪个版本的 IE 中不可点击。
标签: html internet-explorer cross-browser