@ font-face字体堆栈在Firefox中突然死亡

问题描述:

下面的CSS已经工作了好一个星期左右,我已经跳过GIT回购看看它在哪里崩溃,它似乎在所有提交中被破坏(让我相信我没有做错任何事情)。@ font-face字体堆栈在Firefox中突然死亡

仍然适用于Chrome。

@font-face { 
    font-family: 'Blackout2AM'; 
    src: url('../fonts/Blackout-fontfacekit/Blackout-2am-webfont.eot'); 
    src: url('../fonts/Blackout-fontfacekit/Blackout-2am-webfont.eot?iefix') format('eot'), 
     url('../fonts/Blackout-fontfacekit/Blackout-2am-webfont.woff') format('woff'), 
     url('../fonts/Blackout-fontfacekit/Blackout-2am-webfont.ttf') format('truetype'), 
     url('../fonts/Blackout-fontfacekit/Blackout-2am-webfont.svg#webfontXyt5a0LX') format('svg'); 
    font-weight: normal; 
    font-style: normal; 

} 

.sidebar h2, .sidebar h3 a, #footer .menu a, .switcher li a, .dateLinks a{ 
    font-family: 'Blackout2AM'; 

} 
+0

做的字体存在吗? Firebug说什么它正在加载什么? – 2011-04-20 14:51:24

+0

是Firefox 4吗?如果是这样,你可能想要回到3.6.16,看看那是怎么回事。 – 2011-04-20 14:57:06

+0

字体文件似乎存在于firebug的CSS中。我怎么知道它是否真的获取文件? – 2011-04-20 15:06:45

将此放在.htaccess

<FilesMatch "\.(ttf|otf|eot)$"> 
    <IfModule mod_headers.c> 
     Header set Access-Control-Allow-Origin "*" 
    </IfModule> 
</FilesMatch> 

我下载了你正在使用的字体,并可以(有点)重现该问题。

如果您定义了@font-face两次,一次是破损的网址,另一次是正确的网址,Firefox4和Safari5根本不显示字体,但Chrome12和Firefox3都没有问题。

正确诗句的顺序打破@font-face规则也很重要,因为Firefox4和Opera11如果正确规则是最后一个将只显示字体。无论订单如何,如果存在损坏的URL,Safari5将不会显示该字体。

编辑:啊,如果它在Firefox 3也不对头,这可能是Firefox Bug 567573

+0

.htaccess从另一个问题破解它 - >查看评论。 – 2011-04-20 15:51:26

+1

哦**那**问题!尽管如此,对我来说这是一个有趣的调查,只是为了强调浏览器处理无效URL的方式非常不同。 – andyb 2011-04-20 15:54:58