2012-08-26 62 views
8

我與使用google-webfonts有一個非常不好的衝突。 OK這裏是代碼:Google Webfont與本地字體衝突

這是頭:

<link href='http://fonts.googleapis.com/css?family=Oswald:700' rel='stylesheet' type='text/css'> 

而且這是在CSS文件:

body { 
font-family: 'Oswald', sans-serif; 
font-weight: 700; } 

奧斯瓦爾德」 是一個FONT-FAMILY 3字體:

  • book(300)
  • 正常(400)
  • 大膽(700)

正如你所看到的..我已經加載只有粗體字(700)。 (你可以看到它在查詢) 它工作到這裏,但是...

的問題是:

我已經安裝在計算機上的3種字體(300400700)的桌面版本,只要這些字體被激活......瀏覽器在我的html文檔中顯示錯誤的字體重量(400)。

好的。問題是,在我的CSS'奧斯瓦爾德'採取localfont而不是webfont。但是當地字體「Oswald」是「Oswald normal」。我不知道爲什麼谷歌稱之爲'奧斯瓦德'而不是'奧斯瓦爾德大膽'。所以我不知道如何解決這個問題。

我不希望CSS指向本地字體..我希望它始終顯示webfont ...因爲正確的字體重量!

你有什麼想法嗎? 請問?

可能重命名webfont-call?

回答

11

您可以編輯CSS @font-face規則以滿足您的需求,而不是隻加載Google自動生成的規則。基本上問題是他們的規則更喜歡本地版本(src: local('Oswald Bold'), local('Oswald-Bold'), ...)。修正verison會是什麼樣子:

@font-face { 
    font-family: 'WebOswald'; 
    font-style: normal; 
    font-weight: 700; 
    src: url(https://themes.googleusercontent.com/static/fonts/oswald/v5/bH7276GfdCjMjApa_dkG6T8E0i7KZn-EPnyo3HZu7kw.woff) format('woff'); 
} 

只需手動添加到您的CSS,並使用font-family: 'WebOswald';當你要使用的字體的谷歌的Web版本。

我希望有幫助!

+0

這是一個很好的。我也想到了這一點,但問題是你的代碼只加載.woff文件。另一件事是,當我在查詢字符串上使用「&text =」參數時,我加載了整個字體,而不僅僅是我需要的字符。所以我需要一個技巧或黑客,它不採取本地字體。 –

+0

@JohnDoeSmith你的意思是你希望能夠使用'&text ='參數,但仍然忽略本地字體? – Chris

+0

是的。而已。但我想出了一個能爲我工作的解決方案。總之你的答案是正確的。所以你會得到√... thx;) –