2014-03-03 119 views
5

我遇到了我用於我的網站的自定義字體的問題。如何爲後備字體設置不同的字體重量?

所以我使用下面的CSS文本。

font-family: "Open Sans",Helvetica,Arial; 
font-weight:600; 

由於網站是建立在我的母語,我必須使用UTF-8個符號,這似乎並不被包含在開放三世,所以他們在Helvetica字體被顯示,而不是,但問題是他們有更多的重量。

如果正在使用備用字體,是否有任何可能的解決方案將字體重量參數設置爲正常?

+0

此主題先前已在此處探討過:http://stackoverflow.com/questions/1960817/get-computed-font-family-in-javascript/1961519#1961519。似乎沒有直接確定當前字體的方法。有一些你可以使用的插件(在下面的回覆中提到@ SW4),但它似乎是矯枉過正。 – AnchovyLegend

+0

@AnchovyLegend我完全同意 – SW4

回答

11

你可以爲每個你想要的字體定義一個新的@font-face

@font-face { 
     font-family: 'mainFont'; 
     src: url(/*Link to Open Sans*/); 
     font-weight: 600; 
} 

@font-face { 
     font-family: 'secondaryFont'; 
     src: local('Helvetica'); 
     font-weight: 400; 
} 

@font-face { 
     font-family: 'tertiaryFont'; 
     src: local('Arial'); 
     font-weight: 600; 
} 

然後你最終會得到font-family: 'mainFont', 'secondaryFont', 'tertiaryFont';應該得到想要的結果。

+0

有沒有人有這樣的工作在電子郵件客戶端,如Outlook(2016)?從我的測試看來,它似乎不起作用。 –

+0

@DaveElton嘗試使用此解決方案並查看它是否正常工作https://stackoverflow.com/a/32056054/3338349 – MickelsonMichael

0

不幸的是,沒有辦法用CSS單獨定義備用字體特定的樣式。

因此,您可能需要嘗試計算出正在使用的字體,然後應用樣式作爲結果see here for one method,該值計算出在「最佳猜測」之前將字體應用於元素所產生的寬度。

這就是說,它實質上是一種黑客/解決方法。否則,你可以考慮實現一種方法來識別符號的位置,然後用風格span標籤包裝它們,這與乾淨的解決方案相反,這將是一個相當骯髒的黑客攻擊。

相關問題