我可以在HTML文档的正文中使用<link>标记吗?


20

我可以<link>在HTML页面的正文中使用标签吗?我试图找到该问题的答案,但发现矛盾的信息。

将Schema.org微数据标记添加到HTML页面时,我想在链接标记中添加规范信息,如下所示:

<div itemscope itemtype="http://schema.org/Book">
  <span itemprop="name">The Catcher in the Rye</span>
  <link itemprop="url" href="http://en.wikipedia.org/wiki/The_Catcher_in_the_Rye" />
  by <span itemprop="author">J.D. Salinger</span>
</div>

我从Schema.org获得了上面的示例代码。根据他们的说法,这是想要为项目属性添加规范引用但又不想在其网站上放置超链接的人们的方法。

但是W3清楚地指出,<link>标记仅应放在头部内,从而使Schema.org示例无效。

如果我要坚持正确的标记,应该遵循哪些建议?


您正在链接到w3schools.com(与W3C无关),而不是w3.org
2013年

啊,是的,您当然是对的。删除了W3schools的链接。谢谢。
爱德华·陶

Answers:


23

如果微 元素和元素包含属性,微数据以和元素可以在中使用的方式扩展 HTML5 。linkmetabodyitemprop

如果itemprop属性存在于link或上meta,则它们是流内容和短语内容。的linkmeta元件可用于其中如果措辞内容预期itemprop属性存在。

此扩展名当前也包含在HTML 5.1 Nightly(编辑器的草稿)中(请参阅linkelementmetaelement)。但是随着最近Microdata规范成为W3C Note,我们将不得不看看该参考会发生什么。

RDFa 1.1 以和元素(如果包含属性)可以在中使用的方式扩展了 HTML5 。linkmetabodypropertỳ

如果@propertyRDFa属性存在于linkmeta元素上,则如果在body文档中使用它们,则必须将其视为符合条件。更具体地说,当linkmeta元素包含RDFa @property属性并在bodyHTML5文档的中使用时,必须将其视为流内容。


那么,你是不是允许使用任何 link元素(例如,<link href="" rel="" />在)body,但只有那些具有itemprop属性(微观数据)RESP。一个property属性(RDFa的)。

因此,您的link元素可以用于body

<body>
<!-- … -->
  <link itemprop="url" href="http://en.wikipedia.org/wiki/The_Catcher_in_the_Rye" />
<!-- … -->
</body>

谢谢!因此,如果我理解正确,<link>只要它包含itemprop属性,就可以在正文中使用该标签?而且,只要包含itemprop属性,我还可以包含href原始问题中使用的属性吗?
爱德华·陶

@EdwardTouw:是的;href在任何情况下都必须提供该属性。因此,只要link元素具有itemprop属性,就可以在中使用它body。然后,它不再是整个文档的元数据(就像中的常规link元素一样head),而是Microdata的“隐藏”元素。
2013年

11

W3Schools没有为HTML编码设置行业标准。它们只是第三方的参考站点,无论如何都不与W3C关联。当使用诸如SchemaResponsive design之类的尖端编码技术时,W3Schools和其他站点通常是错误的。当使用相当新的代码时,您的一站式服务应该是W3C作为设定的合规性标准,如果您需要帮助来理解HTML5 ,则可以使用HTML5 Doctor,因为它们不是官方的,而是备受推崇。

查看您的代码,它将通过W3C验证,而该代码中包含的link元素没有任何问题<body> </body>

<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>Untitled Document</title>
</head>

<body>
<div itemscope itemtype="http://schema.org/Book">
  <span itemprop="name">The Catcher in the Rye</span>
  <link itemprop="url" href="http://en.wikipedia.org/wiki/The_Catcher_in_the_Rye" />
  by <span itemprop="author">J.D. Salinger</span>
</div>
</body>
</html>

简短的回答:是的,您可以<LINK>在内部使用,<body> </body>但正如Unor在他的回答中提到的那样,必须包含itemprop。


请注意,您正在链接到2009年的HTML5草案。在当前的HTML5 CR中,不包括相关定义。
2013年

0

如果itemprop存在该属性,则可以将link元素添加到HTML文档的主体中。这是一个演示

这也是一个链接itemprop属性示例。


2
如果这些是您网站的链接,请添加免责声明,例如“我在此处的博客中介绍了此内容...”。
dan
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.