使用谷歌字体:但是,根据W3C,代码是无效的HTML5?

1 html validation html5 fonts

我正在完成一项任务,我正在为我的网站使用Google字体.我正在尝试使用W3C验证我的HTML,因为我的作业必须有效才能获得满分,并且我继续收到Google字体代码的错误.我似乎无法弄清楚为什么.这是代码:

<link rel="stylesheet" type="text/css" href="http://fonts.googleapis.com/css?family=Orbitron|Special+Elite|Open+Sans">
Run Code Online (Sandbox Code Playgroud)

这是我从W3C获得的错误消息:

对于元素链接上的属性href,http://fonts.googleapis.com/css?family=Orbitron|Special+Elite|Open+Sans的值不正确:查询中的非法字符:不是URL代码点.

... HREF = "http://fonts.googleapis.com/css?family=Orbitron|Special+Elite|Open+Sans">

IRI参考语法:任何URL.例如:/ hello,#scanvas或http://example.org/.字符应以NFC表示,空格应以%20表示.

有什么想法吗?我是HTML5的新手,所以我不确定我在这里缺少什么.

Juk*_*ela 11

这里的违规字符是"|"U + 007C VERTICAL LINE,由Google用作字体名称之间的分隔符; 这是一个糟糕的选择,因为"|"是一个保留字符,既有"URL Living Standard"(HTML5 CR引用的内容)和Internet标准STD 66(RFC 3986).

实际上,当你使用"|"时,它工作正常,但为了符合标准和草案,使用百分比编码(%编码,在URL规范中定义),写入%7c(不区分大小写):

<link rel="stylesheet" type="text/css" href=
"http://fonts.googleapis.com/css?family=Orbitron%7cSpecial+Elite%7cOpen+Sans">
Run Code Online (Sandbox Code Playgroud)