Html 语义上,哪个更正确:h2中的a,还是a中的h2?
我一直在决定使用哪一种,因为两者似乎都起作用 我应该在Html 语义上,哪个更正确:h2中的a,还是a中的h2?,html,standards,semantics,Html,Standards,Semantics,我一直在决定使用哪一种,因为两者似乎都起作用 我应该在元素中放置链接吗 还是反过来 正确的标准是什么?您只能在中放置元素。以前的规范(或当前的规范,无论您如何查看它们)从未允许这样做 通常的做法是将放在中。在HTML5之前,这是唯一有效的标题链接方式,因为链接指的是标题中的文本。很少需要将放在中,除非是某个更复杂结构的一部分,该结构作为一个整体起着超链接的作用。W3C说其允许的父元素是任何可以包含流元素或hGroup的元素。允许包含短语或流元素的父元素。h2可以包含短语内容,a可以包含短语或流内
元素中放置链接吗
还是反过来
正确的标准是什么?您只能在中放置
元素。以前的规范(或当前的规范,无论您如何查看它们)从未允许这样做
通常的做法是将
放在
中。在HTML5之前,这是唯一有效的标题链接方式,因为链接指的是标题中的文本。很少需要将
放在
中,除非
是某个更复杂结构的一部分,该结构作为一个整体起着超链接的作用。W3C说其允许的父元素是任何可以包含流元素或hGroup的元素。允许包含短语或流元素的父元素。h2可以包含短语内容,a可以包含短语或流内容,因此根据规范,两者都是允许的
既然您包含了语义标记,我想您也会对哪个“似乎”更好感兴趣。就我而言,因为我想不出什么时候我会希望一个锚横跨一个标题加上其他内容,但我可以想到很多时候,一个标题应该包含一个锚加上其他内容,内部h2似乎是最好的选择。它的功能也不一样,有一个很大的区别
如果将
放入
中,标题的整个块(例如行)将像链接一样工作
但是,如果将
放入
中,则只有可见文本将用作链接。(你可以通过改变光标来测试它)答案是它取决于
从W3C网站,更具体地说,在中,很明显h2元素(和所有其他标题标记一样)具有内容模型“语法内容”
现在,按照以下步骤,您将获得以下描述:
措辞内容是文档的文本,以及
在段落内级别标记该文本。一连串的措辞
内容形成段落
在下面的列表中,您的措辞内容包括:
a(如果仅包含短语内容)
因此,如果a
标签只包含短语内容,HTML5允许它包含在h2
标签中。
反之,对a
元素内容模型的描述如下:
透明,但必须没有交互式内容子体
在描述的末尾,可以找到以下内容:
如果透明元素没有父元素,则其内容的一部分
必须将“透明”的模型视为接受任何
流量内容
因为在《圣经》中说:
可使用此元素的上下文:
其中流内容是预期的
h2
标记可被视为流内容
因此,如果a
标记没有父项,则在HTML5中必须将其视为接受任何流内容,包括h2标记。HTML允许
这对我很有用
包括副标题在内的整个标题文本都可以按我的要求单击。我不知道有什么更好的方法来处理HTML5。这是非常主观的,但我认为
应该在
中,因为如果
的部分文本不是链接,这是必须的,但是你很少有
之外的链接。3票关闭。我可以问一下为什么吗?这怎么不是一个真正的问题@安德烈·马绍尔:这有多主观?我以为已经发布了标准?语义不是标准。既然你可以做任何一件事(至少在HTML5中),就没有技术上的理由选择一件而不是另一件。“标题具有更高的重要性”是什么意思?对不起,当我想得更多的时候,它没有任何意义。因为有额外的信息,所以投票支持你的答案,虽然它并没有真正回答语义上哪个更正确的问题。。。忘掉学究式的“有效”吧……这都是关于显示级别的。如果将a设置为display:block,则它很好,html4、xhtml1、html5。。。不管怎样。@mikeyUX:为什么你告诉我而不是OP这个?“那么,如果a标签没有父项”-没有父项什么?元素?另一个标题标签?W3C网站()的透明链接引用中报告了相同的标签。。。这是一个父元素对不起,我应该把它和上面的报价联系起来。
<header>
<a href="/home">
<h1>Main heading</h1>
<h2>Sub heading</h2>
</a>
</header>