此时元素元素上不允许使用属性名称

时间:2014-01-30 18:01:38

标签: html html5 w3c-validation

我在这里多次出错

<meta name="description" content="Directus Media specialises in websites for small to medium businesses">​

http://validator.w3.org/check?uri=http%3A%2F%2Fcrimsoninformatics.info%2Fdirectus%2F&charset=%28detect+automatically%29&doctype=Inline&group=0&user-agent=W3C_Validator%2F1.3+http%3A%2F%2Fvalidator.w3.org%2Fservices

还有链接属性错误:

我写道: -

<link rel="stylesheet"  href="css/lib/essentials.css"/>

它给了我错误,链接缺少必需的属性。

请帮助我,因为我是HTML5的新手。

3 个答案:

答案 0 :(得分:8)

在两个meta标记之间,name="description"标记和name="keywords"标记之间,页面包含字节0xE2 0x80 0x8B(以及一些空格)。该页面被解释为UTF-8编码,但该字节序列是格式错误的UTF-8(不代表任何字符)。显然,验证器仍然将其解释为数据字符。这会导致head元素过早关闭,其余部分......好吧,不是历史,而是这种混乱的后果。 meta标记中的第二个被视为body部分,并且适用特殊规则,使标记无效。

无论如何,真正的问题是存在虚假字节0xE2 0x80 0x8B。删除它们后,页面会验证。

从外部知道产生这些字节的东西是不可能的。但是他们看起来很像一个字符编码错误,可能是因为对已经UTF-8编码的某些数据执行了错误的UTF-8编码,或类似的东西。

这是一个棘手的问题。我不得不使用Rex Swain的HTTP Viewer来检查offending page的原始数据。

答案 1 :(得分:0)

确保从所有源文件中删除了UTF BOM。 https://en.wikipedia.org/wiki/Byte_order_mark

答案 2 :(得分:-1)

您的完整链接 - 标记为:

<link rel="stylesheet" type="text/css" href="css/lib/essentials.css"/>

和你的元标签:

<meta name="description" content="Directus Media specialises in websites for small to medium businesses" />​
<meta name="keywords" content="southport graphic design, liverpool web design, southport social media management" />
<meta name="viewport" content="width=device-width,initial-scale=1,maximum-scale=1,user-scalable=no" />

小心:我认为您在元标记(关键字和视口)上使用了错误的“”