100
4

4 回答 4

152

根据网络标准,您不允许将块元素放入内联元素中。

作为h1块元素并且a是内联元素,正确的方法是:

<h1><a href="#">This is a title</a></h1>

这是一个链接,您可以了解更多信息:w3 视觉格式化模型

但是,有一个例外,在 HTML5 中,将块级元素(如 或 )包装在锚标记中是有效div的。在锚点以外的内联元素中包装块级元素仍然违反标准。ph*

于 2009-07-15T00:26:37.673 回答
49

HTML5 更新了这个主题:现在可以用 A 包装块级元素,如另一个问题所述:https ://stackoverflow.com/a/9782054/674965和这里:http ://davidwalsh.name/html5-元素链接

于 2012-04-12T10:23:58.027 回答
3

a > h1会造成选择文字的困难

文本选择问题

由于两者在 HTML5 中都是完全有效的,所以最好使用h1 > a

于 2020-06-09T20:46:06.403 回答
2

据我了解,HTML5 确实允许您将块级元素包装在链接标签中。但是,错误可能会出现在较旧的浏览器中。我在 Firefox 3.6.18 中遇到了这个问题,并将 moz-rs-heading="" 插入到我的代码中。因此,我的风格打破了。如果您关心解决方法,则可以将链接标签包装在 div 中。以下提供了为什么附加代码有效的更好解释http://oli.jp/2009/html5-block-level-links/

于 2012-12-13T05:19:56.650 回答