允许在<body>中使用<link>(不是rel =“stylesheet”)吗?
Google,Yahoo和MS推出的新的schema.orgbuild议使用<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>
然而, 根据w3schools.org <link>
只允许在头部分:
注意:这个元素只在头部分中,但可以出现任意次数。
我不习惯W3C风格,所以我无法理解W3C的确切定义 。 任何人都可以帮助我:是真的允许在正文中使用<link>
(在HTML5中,因为schema.org使用HTML5标签)还是Google,Yahoo和MS打破标准?
WHATWG HTML规范提到, LINK
元素可以有一个rel
attribute:
<link rel="…" />
或itemprop
属性
<link itemprop="…" />
但不是两个。
rel
-version仅限于HEAD
元素,而itemprop
-version可能出现在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?
在BODY中允许链接。 我有同样的问题在HTML5validation链接标记,我解决了这个问题
<link rel="stylesheet" property="stylesheet" href="css/homepage.css">
需要property
和rel
标签
更新2016 (感谢下面的yuyokk):最近有一个HTML5规范的变化,允许在正文中的链接
最近HTML5规范发生了变化,允许在正文中有链接
我想补充上面的答案,简而言之
<body> <link rel="stylesheet" property="stylesheet" href="pathto.css"> </body>
正在使阀值错误消失。 即使只是添加property=""
(RDFa语法或itemprop=""
(Microformat语法)属性就足够了。正如@Jukka K. Korpela和@sideshowbarker解释他们的答案,原因在于HTML5 + RDFa 1.1规范 。
上面的解决scheme基本上是一个解决scheme,让validation器在关键path实现中忽略内联样式表。 在未来的validation器版本中,它有希望被淘汰。
顺便说一下,在HTML5中,您既不需要type
属性也不需要自闭标签语法。