2014-03-25 49 views
0

我們正在將網站上的字體從FontA更改爲FontB。看起來很簡單。問題在於FontA在任何地方都是硬編碼的,即使在我們無法輕易訪問的地方(我們從外部數據庫中提取的內容中有這種字體硬編碼等等)。我想要做的是這樣的:@ font-face與多個字體系列

@font-face { 
    font-family: 'FontB', 'FontA'; 
    src: url('fontB.eot'); 
    src: url('fontB.eot?#iefix') format('embedded-opentype'), 
     url('fontB.woff') format('woff'), 
     url('fontB.ttf') format('truetype'), 
     url('fontB.svg#fontB') format('svg'); 
    font-weight: normal; 
    font-style: normal; 
} 

因此,無論FontAFontB使用相同的字體。這樣,所有使用FontA的硬編碼內容將開始使用FontB,而所有未來內容將僅使用FontB。是宣佈多個font-family合法有效嗎?對於使用@font-face的瀏覽器,它可以跨瀏覽器工作嗎?如果這不起作用,我可以申報兩個@font-face,所以這不是一個大問題。我只是想知道是否有可能。

+0

是否有不單純是一個道理使用名稱FontA爲新的字體?您在'@ font-face'中給出的名稱只是您選擇的名稱,並且通過選擇現在在CSS代碼中使用的名稱,可以使該名稱引用您的新字體。你有什麼理由保留舊字體? –

回答

1

不幸的是,你將不得不做兩個單獨的重複@font-face規則。 font-family描述符的語法與font-family屬性does not permit more than one family不同,因此您擁有的語法無效。

試圖在兩個聲明中指定它只是causes the latter to override the former就像你希望在一個樣式規則,這意味着以下幾點:

@font-face { 
    font-family: 'FontA'; 
    font-family: 'FontB'; 
    ... 

等同於:

@font-face { 
    font-family: 'FontB'; 
    ...