2012-02-14 71 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