24

可能重复:
哪个更正确:<h1><a>..</a></h1> OR <a><h1>..</h1></a>
在语义上,哪个更正确:a in h2 还是 h2 在 a 中?

这是一个关于 HTML 的简单问题。将链接放在标题、段落或其他 HTML 元素中的正确/最可取的方式是什么?

这边走:

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

或者这样:

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

4

6 回答 6

29

更好的是

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

因为是带有显示块的元素,并且在元素h中具有不好的做法。blocka

于 2012-06-21T20:04:57.973 回答
5

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

在 HTML5 中,这取决于您想要的效果和语义。将整个标题放在链接内将导致可点击区域跨越整个宽度,而将链接放在标题内只会导致文本可点击。我以前使用过这两个版本,但这完全取决于我将标题放在哪里。

于 2012-06-21T20:05:57.287 回答
3

我更喜欢第二个:

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

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

<a href=""><h2>Some Title</h2> <h1>biggest</h1></a>
于 2012-06-21T20:03:55.523 回答
3

他们都工作得很好。

如果您愿意,您可以在http://validator.w3.org/上自行检查。

于 2012-06-21T20:06:02.460 回答
2

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

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

是正确的嵌套。

也就是说,浏览器通常会忽略这样的错误嵌套,并允许您按照自己的方式进行操作。

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

于 2012-06-21T20:09:06.957 回答
0
<h1><a href="#">text here</a></h1>

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

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

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

于 2012-06-21T20:08:28.477 回答