修复了在Firefox中使用锚定标签包装块内容的问题>=3.5
锚定标记在历史上只允许包含内联内容 HTML5特别允许锚定标记包含块级内容,现代版本的Opera/Chrome/Safari正确地实现了这一行为,但Firefox没有 这个问题之前已经被确定,也许最好的解决办法是只在锚定标记中包含默认的内联标记,然后在CSS中使它们修复了在Firefox中使用锚定标签包装块内容的问题>=3.5,firefox,html,Firefox,Html,锚定标记在历史上只允许包含内联内容 HTML5特别允许锚定标记包含块级内容,现代版本的Opera/Chrome/Safari正确地实现了这一行为,但Firefox没有 这个问题之前已经被确定,也许最好的解决办法是只在锚定标记中包含默认的内联标记,然后在CSS中使它们display:block,但这不允许在锚定中使用新的html5标记 是否有人有特定于Firefox的修复程序,允许在Firefox中正确呈现以下内容 <a href="some/page.html"> <ar
display:block
,但这不允许在锚定中使用新的html5标记
是否有人有特定于Firefox的修复程序,允许在Firefox中正确呈现以下内容
<a href="some/page.html">
<article>
<section>
<p> Lorem ipsum... </p>
</section>
...
</article>
</a>
如果有更好的方法来构造html,从而达到相同的目的,那将是理想的,但是基于CSS的解决方案,甚至是普通的Javascript解决方案都会很好
显然,有很多方法可以使用Javascript和
onclick
将div
作为链接进行单击,但这会隐藏链接目标并丢失标记的一些语义值。只需使用一些不引人注目的Javascript将onclick处理程序添加到带有display:block-containing-block元素的锚元素中即可。不要编辑你的HTML5
仅供参考,这在Firefox 4 Beta中已得到修复(已实现完整的HTML5解析器)。解决这一问题的一种方法是使用span元素将内容包装在锚点中。因此,您的代码如下所示:
<a href="some/page.html">
<span>
<article>
<section>
<p> Lorem ipsum... </p>
</section>
...
</article>
</span>
</a>
当然,这不再是有效的HTML5,但如果你真的需要让它工作,这个黑客应该这样做。谢谢,很高兴听到这个问题已经解决了。不幸的是,锚定标记内的块级内容也会在FF 3.*上产生布局问题(预先关闭锚定标记,将内容推到锚定标记外),因此仅修复onclick行为仍然会留下显示/渲染问题。