<h1> 在 <a> 内部还是外部?

c.g*_*rey 6 html hyperlink

我想h1a元素中使用。哪一种更正确呢?

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

或者

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

Tro*_*yer 7

正如w3描述的标记A

锚点是标记超文本链接的开始和/或结束的一段文本。

开始标记和结束标记之间的文本是链接的开始或目标(或两者)。锚标签的属性如下。

这意味着两者都是正确的,并且它们没有完全相同的效果。因此,这取决于您想要创建超链接的内容,如果您包围整个内容,<h1>则需要将其作为父链接。这将使整个块可点击,包括右侧的空间:

<a href="#"><h1 style="background-color: yellow">Anchor for entire title</h1></a>
Run Code Online (Sandbox Code Playgroud)

如果您只想获得其中的特定部分,则<h1>只需像这样包围该部分:

<h1 style="background-color: yellow">Anchor only for <a href="#">this</a></h1>
Run Code Online (Sandbox Code Playgroud)

  • 请注意,第一次尝试还会使“&lt;h1&gt;”的部分可单击,但可能不包含文本——例如,如果标题包含多行文本。 (4认同)

Pic*_*ard 6

根据 HTML5规范,两者都是正确的:

a 元素可以包裹整个段落、列表、表格等,甚至整个部分,只要其中没有交互内容(例如按钮或其他链接)。