Google,Yahoo和MS的新schema.org建议使用<link>
属性来显示在线商店中的商品状态:
<div itemscope itemtype="http://schema.org/Offer">
<span itemprop="name">Blend-O-Matic</span>
<span itemprop="price">$19.95</span>
<link itemprop="availability" href="http://schema.org/InStock"/>Available today!
</div>
然而,according to w3schools.org <link>
仅允许在头部:
注意:此元素仅在head部分中出现,但它可以出现任意次。
我不习惯W3C风格,所以我无法理解确切的definition by W3C。任何人都可以帮助我:是否真的允许在正文中使用<link>
(在HTML5中,因为schema.org使用HTML5标签)或谷歌,雅虎和MS是否违反标准?
答案 0 :(得分:53)
BODY允许链接。 我在HTML5中验证链接标记时遇到了同样的问题,我用这个解决了它
<link rel="stylesheet" property="stylesheet" href="css/homepage.css">
需要同时拥有property
和rel
代码
2016年更新(感谢下面的yuyokk): 最近HTML5规范发生了变化,允许在正文中添加链接
答案 1 :(得分:29)
WHATWG HTML规范提到,LINK
- 元素可以具有rel
- 属性:
<link rel="…" />
或itemprop
- 属性
<link itemprop="…" />
但不是两者。
rel
- 版本仅限于HEAD
- 元素,而itemprop
- 版本可能同时出现在HEAD
和BODY
中 - 元件。
http://www.whatwg.org/specs/web-apps/current-work/multipage/semantics.html#the-link-element
这是什么WHATWG规范:
whatwg.org/specs/web-apps/current-work/multipage/introduction.html#is-this-html5?
答案 2 :(得分:10)
最近HTML5 spec发生了变化,允许在正文中添加链接
答案 3 :(得分:4)
我想补充上面的答案,简而言之
<body>
<link rel="stylesheet" property="stylesheet" href="pathto.css">
</body>
正在使valdation错误消失。即使只添加property=""
(RDFa语法或itemprop=""
(微格式语法)属性也足够了。正如@Jukka K. Korpela和@sideshowbarker在他们的答案中解释的那样,原因在于{{3 }。
上面的解决方案基本上是一种解决方法,让验证者在关键路径实现中根据需要忽略内联样式表。 在验证器的未来版本中,它有望过时。
顺便说一句,在HTML5中,您既不需要HTML5+RDFa 1.1 spec也不需要type
attribute语法。
答案 4 :(得分:0)
正如其他人所指出的,<link>
可以在体内使用,但只能在某些时候使用。在那些情况下,它被称为“身体正常”。下面列出了可以正常使用的链接类型:https://html.spec.whatwg.org/multipage/links.html#body-ok
自2018年6月20日起,可在体内使用以下物品:
<body>
<link rel="dns-prefetch">
<link rel="modulepreload">
<link rel="pingback">
<link rel="preconnect">
<link rel="prefetch">
<link rel="preload">
<link rel="prerender">
<link rel="stylesheet">
</body>
答案 5 :(得分:0)
要确保代码与跨浏览器兼容,请添加如下样式表:
<style>
@import url(style.css);
</style>
在主体中放置样式表通常被认为是不好的做法,但是在某些情况下可能会有所帮助:
答案 6 :(得分:0)
截至2020年3月的规范:
如果使用
rel
属性,则有时只能在页面的body
中使用该元素。当与itemprop
属性一起使用时,该元素可以在页面的head
元素和页面的body
中使用,但要遵守微数据模型的约束。
与就rel
属性而言,已接受的答案所说的相反。我个人从未遇到过在rel
中添加head
的问题。
Microdata是WHATWG HTML规范,用于将元数据嵌套在网页上的现有内容中。浏览器,网络爬虫,尤其是搜索引擎可以从网页中提取和处理微数据,并使用它为用户提供更丰富的浏览体验。