HTML标记中标题内的链接或链接内的标题?

时间:2012-06-21 20:01:58

标签: html

  

可能重复:
  Which is more correct: <h1><a>..</a></h1> OR <a><h1>..</h1></a>
  Semantically, which is more correct: a in h2, or h2 in a?

这是一个关于HTML的简单问题。将链接放在标题,段落或其他HTML元素中的最佳/最佳方法是什么?

这样:

<h2><a href="">Some Title</a></h2>

或者这样:

<a href=""><h2>Some Title</h2></a>

6 个答案:

答案 0 :(得分:22)

更好的是

<h2><a href="">Some Title</a></h2>

因为h是带有显示块的元素,在block元素中使用a不是一种好习惯。

答案 1 :(得分:5)

要注意:您不能将标题放在HTML4中的链接中。

在HTML5中,它取决于你想要的效果和语义。将整个标题放在链接中将导致可点击区域跨越整个宽度,而将链接放在标题内将导致只能查看文本。我之前使用过两个版本,但它完全取决于我放置标题的位置。

答案 2 :(得分:2)

我更喜欢第二个:

<a href=""><h2>Some Title</h2></a>

因为你有更多的控制权,例如你想做这样的事情:

<a href=""><h2>Some Title</h2> <h1>biggest</h1></a>

答案 3 :(得分:2)

他们都工作得很好。

如果您愿意,可以http://validator.w3.org/查看自己。

答案 4 :(得分:2)

从技术上讲,<a>是一个内联元素,而<h2>是一个块级元素,所以:

<h2><a href="">Some Title</a></h2>

是正确的嵌套。

也就是说,浏览器通常会忽略不正确的嵌套,并允许您按照自己的方式进行嵌套。

我,我不喜欢在浏览器选择在标准兼容模式或Quirks模式下运行我的页面时诱人的命运,所以我会选择正确的嵌套。

答案 5 :(得分:0)

<h1><a href="#">text here</a></h1>

是正确的,因为HTML不允许内联元素()(src)中的块元素()。你的第二个例子将无法通过验证。

通常,块级元素可以包含内联元素和其他块级元素。通常,内联元素可能只包含数据和其他内联元素。这种结构区别的固有特征是块元素比内联元素创建“更大”的结构。

我刚从另一个问题中复制了这个......