所有我搜索的文件說,正確的語法來加載CSS外部字體文件如下:CSS外部字體:什麼是正確的語法?
@font-face {
font-family: 'JosefinSansLight';
src: url('josefinsans-light-webfont.eot');
src: url('josefinsans-light-webfont.eot?#iefix') format('embedded-opentype'),
url('josefinsans-light-webfont.woff') format('woff'),
url('josefinsans-light-webfont.ttf') format('truetype'),
url('josefinsans-light-webfont.svg#JosefinSansLight') format('svg');
font-weight: normal;
font-style: normal;
}
(提供一個在所有上述格式的字體,當然,這是我做的)。
但是,上述語法在Safari 5.0.2或Firefox 9中不適用於我:字體根本無法加載。另一方面,當我嘗試這麼做時:
@font-face {
font-family: 'Josefin Sans';
src: url('JosefinSans-Regular.ttf') format('truetype');
font-weight: normal;
font-style: normal;
}
字體確實會被加載和顯示。 (我沒有可用的IE來測試)。
怎麼了?我應該提到,我最初只有TTF文件(我在第二個示例中加載的文件),並且使用Fontsquirrel生成了其他版本(不加載的版本)。
編輯:檢查我的Apache日誌,我看到瀏覽器肯定拉字體(因此,他們在正確的位置)。 Firefox只是在第二種情況下加載TTF字體(正如人們所期望的那樣),而在第一種情況下,它只加載EOT字體(代碼中的第一個字體),而不是其他字體。 OTOH,Safari加載TTF,但在第一種情況下似乎沒有加載任何東西。我沒有看到與日誌中的字體相關的任何404錯誤。
確保您將所有文件放在正確的位置。 – BoltClock 2012-01-03 02:40:48