如何在Web标准中混合链接(<a>标签)和标题(<h1>标签)?

ahm*_*med 91 html web-standards

根据Web标准创建标题1的链接的正确代码是什么?

是吗

<h1><a href="http://stackoverflow.com"> stackoverflow </a></h1>
Run Code Online (Sandbox Code Playgroud)

要么

<a href="http://stackoverflow.com"><h1> stackoverflow </h1></a>
Run Code Online (Sandbox Code Playgroud)

谢谢

Dar*_*o Z 139

根据Web标准,不允许将块元素放入内联元素中.

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

<h1><a href="#">This is a title</a></h1>
Run Code Online (Sandbox Code Playgroud)

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

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

  • 在HTLM5中,这已经改变了.这两个例子都将验证 - http://validator.w3.org/. (19认同)

f05*_*055 44

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

  • 这个答案现在比接受的答案更有意义 (6认同)

Abh*_*ek 7

a > h1会导致选择文本困难

文本选择问题

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