html必填缺,关于html:元素链接缺少必需的属性

...

验证器(http://validator.w3.org/)为什么拒绝此请求? 我不知道什么属性是"必需"?

错误:

Error Line 408, Column 142: Element link is missing required attribute

property. …/modules/14ce1e21/peadig-eucookie.css' type='text/css'

media='all' /> Attributes for element link: Global attributes href

crossorigin rel media hreflang type sizes Also, the title attribute

has special semantics on this element.

我无法重现该错误消息。

它很奇怪...但是验证器仍然抛出错误。

大概您的问题中缺少某些上下文。

也许是它的问题,因为它不在标题中?

@ no9:正如Jukka在下面解释的那样(并且应该将哪个答案表示为答案,这样,您也可以在内包含一个:。在所有浏览器中均可工作并进行验证。其全部内容 属性property。

property='stylesheet'

如果您不想将链接移动到文档的。

谢谢,它真的有效@ hawkeye126。

@stevelove的建议显然是切实可行的解决方案,但这是"为什么"问题的理论答案:

尽管在较早的HTML规范中,link元素在body中无条件地无效,但是HTML5具有更多的允许规则。根据HTML 5.1 Nightly(每晚或多或少,验证程序会尝试跟上),文档主体中也允许link元素(只要允许短语内容),只要它具有itemprop属性。这似乎使错误消息更加令人困惑。一部分解释是,验证器实际上是针对HTML5 + RDFa进行验证的,而RDFa定义了property属性。问题仍然是验证者要检查的特定RDFa定义,因为该定义也需要重新定义HTML规则。

无论如何,错误消息中的信息已过时。错误消息显然没有像验证程序的基本功能那样快地更新。

截至2014年,此错误消息仍然存在

截至2015年,此错误消息仍然存在

请参阅hawkeye126s有关如何解决此问题的答案。

截至2016年此错误消息仍然存在

截至2017年,此错误消息不再存在。

您的是否在内?如果是这样,请尝试将其放在文档顶部的中。

除了验证之外,您应始终将样式表放在文档的顶部,以避免阻塞页面的其余部分,如此处所述:developer.yahoo.com/performance/rules.html#css_top

@stevelove(一年后/将来供参考)多数情况下没有优化。在所有可能的情况中,最好在文档顶部的中放置关键的跨栏CSS,并将其余的放在底部。这是更快打开页面的最佳方法。您可以在网上找到有关此BUT的文档,但并非总是可以做到这一点(通常,业务代码效率>性能)。

W3C HTML5验证程序的维护者在这里。正如另一个答案中指出的那样,除了检查HTML5规范本身中的要求之外,验证器还检查HTML + RDFa 1.1规范中的要求:

http://www.w3.org/TR/html-rdfa/

而且,虽然HTML规范本身说通常在正文中不允许使用link,但是RDFa规范指出,如果link元素具有property属性,则允许在正文中使用。

因此,验证器消息基本上是说:" link元素仅在具有property属性的情况下才允许在此处使用。但是这个特定的link元素没有property属性。

* HTML规范本身也说,如果link元素具有itemprop属性,则允许在正文中使用它-但仅当link元素不具有rel值时才允许。 (itemprop是" Microdata"属性,其用途与RDFa property属性基本相同)。

因此,我们有两个不同的属性,它们分别独立地影响允许在文档中出现link元素的位置,并且使验证器中的检查逻辑复杂化,从而使它难以为发出更好,更有用的错误消息这个案例。

为了将来的需要,这是我的评论:

在w3c页面中,我们有以下评论:

If the rel attribute is used, the element is restricted to the head

element. When used with the itemprop attribute, the element can be

used both in the head element and in the body of the page, subject to

the constraints of the microdata model.

因此可以通过将rel更改为itemprop来解决错误,因为rel用于头部,而itemprop可以用于身体。

希望它能帮助到别人。

我找到了另一种解决方法,可以将rel和property组合在同一标签中,例如

它希望它在您的脑海中。但是,如果CSS不太重要以至于无法立即加载,您将获得google的pagespeed工具,告诉您将其放在正文的底部。

例如,我使用一个jQuery主题(redmond)来设置我的自动完成的样式。无需将其放在我的页面顶部,因为它只会减慢其他所有内容的速度。

因此,不必太担心完美的w3c验证。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值