Google字体url在w3.org上中断HTML5validation

我用这个HTML标签加载3种不同大小的字体:

<link rel="stylesheet" type="text/css" href="http://fonts.googleapis.com/css?family=Open+Sans:400,600,300,800,700,400italic|PT+Serif:400,400italic|Bree+Serif"> 

直到1/1个星期前,这是由W3C的HTML5 validation器支持; 现在它给了这个错误:

  Line 14, Column 163: Bad value http://fonts.googleapis.com/css?family=Open+Sans:400,600,300,800,700,400italic|PT+Serif:400,400italic|Bree+Serif for attribute href on element link: Illegal character in query: not a URL code point. 

W3C标记validation器现在不喜欢什么?

Url对|进行编码 (pipe道字符)在href属性( %7C )中:

 <link rel="stylesheet" type="text/css" href="http://fonts.googleapis.com/css?family=Open+Sans:400,600,300,800,700,400italic%7CPT+Serif:400,400italic%7CBree+Serif"> 

http://www.utf8-chartable.de/

你必须replace字符| 由其相应的UTF-8字符给出

 href="http://fonts.googleapis.com/css?family=Cookie%7cAmaranth%7cKaushan+Script%7cCousine%7cBilbo+Swash+Caps%7cRancho&amp;effect=shadow-multiple" 

有两种方法可以解决这个validation问题:

  1. URL编码| (竖线/竖线)字符link元素的href属性中(如%7C ):

     <link rel="stylesheet" type="text/css" href="http://fonts.googleapis.com/css?family=Open+Sans:400,600,300,800,700,400italic%7CPT+Serif:400,400italic%7CBree+Serif"> 
  2. 独立的字体包含多个link元素:

     <link rel="stylesheet" type="text/css" href="http://fonts.googleapis.com/css?family=Open+Sans:400,600,300,800,700,400italic"> <link rel="stylesheet" type="text/css" href="http://fonts.googleapis.com/css?family=PT+Serif:400,400italic"> <link rel="stylesheet" type="text/css" href="http://fonts.googleapis.com/css?family=Bree+Serif"> 

我用“ &amp; ”来描述并且工作正常,例如:

 <link href='http://fonts.googleapis.com/css?family=Open+Sans+Condensed:300,700&amp;subset=latin,latin-ext' rel='stylesheet' type='text/css' />