2012-02-14 55 views
1

我使用一个CSS文件从谷歌API:验证CSS 2.1与外部CSS谷歌

<link href="http://fonts.googleapis.com/css?family=Ruthie" 
     rel="stylesheet" type="text/css" /> 

它看起来像这样:

@font-face { 
    font-family: 'Ruthie'; 
    font-style: normal; 
    font-weight: 400; 
    src: local('Ruthie'), local('Ruthie-Regular'), 
    url('http://themes.googleusercontent.com/static/fonts/ruthie/v3/Di1LdjRzoaEvDmrQy1l_ww.woff') format('woff'); 
} 

但是W3C的CSS验证返回4个错误:

1) Value Error : font-family Property font-family doesn't exist 
    in CSS level 2.1 but exists in [css1, css2, css3] : 'Ruthie' 

2) ... 

您可以通过验证的页面http://fonts.googleapis.com/css?family=Ruthie

检查所有错误

所以我的问题是:

1)我如何验证使用不同的CSS版本像2?这是一个好方法吗?

2)如何修复这些错误,最终使用类似的字体并删除此API?

3)我也想明白到底为什么这样CSS是无效的......

回答

1

您可以validate CSS level 3,由谷歌提供的代码是有效的CSS3。这是不合法的CSS 2.1代码,因为CSS2.1 specification中没有@ font-face。 @font-faceCSS Fonts Module Level 3: 4.1 The @font-face rule中定义。

@font-face规则已在CSS2中定义,但显然没有将其应用到CSS2.1中。所以无法在CSS2.1中验证样式表,只能在CSS3或CSS2中验证。

+0

好的,但我怎么能从CSS告诉验证器使用级别3进行验证?我希望http://jigsaw.w3.org/css-validator/check/referer在我的网页上正常工作。 – Bedo 2012-02-15 00:30:21

+0

尝试http://jigsaw.w3.org/css-validator/check/referer?profile=css3 – Zeta 2012-02-15 05:29:11

+0

啊,它很简单!它的工作原理,谢谢! – Bedo 2012-02-16 18:38:13