找不到CSS定义的字体

时间:2012-04-28 06:28:29

标签: css webfonts

  

可能重复:
  @font-face not working on a client site?

我在ASP.Net MVC网络应用程序中的此文件夹结构中有以下字体文件:

- [根]

| - 公开

|| --fonts

||| --NuvoWeb-Medi.eot

||| --NuvoWeb-Medi.woff

在我的CSS文件中,我有以下字体声明:

@font-face 
{
    font-family: NuvoWeb;
    src: url(/Public/fonts/NuvoWeb-Medi.eot);
}
@font-face 
{
    font-family: NuvoWeb;
    src: url(/Public/fonts/NuvoWeb-Medi.woff) format('woff');
}

但是,当我运行应用程序时,Firebug会返回以下错误:

  

“NetworkError:404 Not Found -   http://localhost:60194/Public/fonts/NuvoWeb-Medi.woff

请告知我缺少什么才能使其发挥作用。

3 个答案:

答案 0 :(得分:68)

找到解决方案here ...

问题是IIS不知道如何提供这些新文件,除非我们告诉它如何。通过添加以下代码段,可以在web.config的<system.webServer>部分的web.config中轻松完成此操作:

<staticContent>
    <mimeMap fileExtension=".mp4" mimeType="video/mp4" />
    <mimeMap fileExtension=".m4v" mimeType="video/m4v" />
    <mimeMap fileExtension=".ogg" mimeType="video/ogg" />
    <mimeMap fileExtension=".ogv" mimeType="video/ogg" />
    <mimeMap fileExtension=".webm" mimeType="video/webm" />
    <mimeMap fileExtension=".oga" mimeType="audio/ogg" />
    <mimeMap fileExtension=".spx" mimeType="audio/ogg" />
    <mimeMap fileExtension=".svg" mimeType="image/svg+xml" />
    <mimeMap fileExtension=".svgz" mimeType="image/svg+xml" />
    <remove fileExtension=".eot" />
    <mimeMap fileExtension=".eot" mimeType="application/vnd.ms-fontobject" />
    <mimeMap fileExtension=".otf" mimeType="font/otf" />
    <mimeMap fileExtension=".woff" mimeType="application/font-woff" />
</staticContent>

请注意,其中一些扩展可能已在IIS中处理(对我来说,.svg很好)。您需要从此部分删除这些地图,或者包含其他<remove>行,例如.eot。

答案 1 :(得分:7)

web.config中注册MIME类型,如下所示:

<system.webServer>
    <staticContent>
      <remove fileExtension=".eot" />
      <mimeMap fileExtension=".eot" mimeType="application/vnd.ms-fontobject" />
    </staticContent>
</system.webServer>

这解决了这个问题。

答案 2 :(得分:2)

公用文件夹(css here)---&gt;字体文件夹(此处为字体-NuvoWeb-Medi.eot)

@font-face 
{
    font-family: 'NuvoWeb';
    src: url(fonts/NuvoWeb-Medi.eot);
}

你错过了引号symbol-family:'NuvoWeb';