Auf*_*gel 40 html5 w3c-validation
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>
Run Code Online (Sandbox Code Playgroud)
然而,根据w3schools.org <link>只允许在头部:
注意:此元素仅在head部分中出现,但它可以出现任意次.
我不习惯W3C风格,所以我无法理解W3C的确切定义.任何人都可以帮助我:它是否真的允许<link>在体内使用(在HTML5中,因为schema.org使用HTML5标签)或谷歌,雅虎和MS是否打破标准?
Mla*_*vic 54
BODY允许链接.我在HTML5中验证链接标记时遇到了同样的问题,我用它解决了这个问题
<link rel="stylesheet" property="stylesheet" href="css/homepage.css">
Run Code Online (Sandbox Code Playgroud)
需要同时拥有property和rel标记
更新2016年(感谢下面的yuyokk):最近HTML5规范发生了变化,允许在体内有链接
fee*_*ela 29
WHATWG HTML规范提到,LINK-element可以有一个rel-attribute:
<link rel="…" />
Run Code Online (Sandbox Code Playgroud)
或者 - itemprop属性
<link itemprop="…" />
Run Code Online (Sandbox Code Playgroud)
但不是两个.
所述rel-version被限制为HEAD-元素,而itemprop-version可能出现在两者的HEAD和BODY-elements.
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?
简而言之,我想补充上面的答案
<body>
<link rel="stylesheet" property="stylesheet" href="pathto.css">
</body>
Run Code Online (Sandbox Code Playgroud)
正在使验证错误消失。即使只是添加property=""(RDFa 语法或itemprop=""(Microformat 语法) 属性也足够了。正如@Jukka K. Korpela和@sideshowbarker在他们的答案中解释的那样,原因在于HTML5+RDFa 1.1 规范。
上面的解决方案基本上是一种解决方法,让验证器根据关键路径实现中的需要忽略内联样式表。在未来版本的验证器中,它有望被淘汰。
顺便说一句,在 HTML5 中,您既不需要type属性,也不需要自闭合标记语法。