0

我在@font-face标签中使用了自定义字体,它在我的ASP.NET 3.5网站上成功运行,该网站在所有浏览器的本地IIS站点上运行。但是,当我使用不同的端口将该站点复制到同一服务器上的另一个IIS站点时,字体不再正确呈现。完全相同的资源仍然存在,站点仍然按设计运行,只是没有字体。我已将该站点推送到托管服务,问题也仍然存在。(localhost)(Windows)(localhost:5000)

服务器会阻止字体渲染怎么办?

编辑:添加代码

字体以 eot、woff、ttf 和 svg 格式提供,位于以下文件夹中...

网站根/_resources/fonts/FontFace/:

FontFace-webfont.eot
FontFace-webfont.woff
FontFace-webfont.ttf
FontFace-webfont.svg

定义 的样式表@font-face与字体位于同一文件夹中。

websiteRoot/_resources/fonts/FontFace/stylesheet.css:

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

admin_styles.css位于不同文件夹中的样式表实现了新字体:

h1, h2, h3 {
    font-family: "FontFace", Arial, sans-serif;
}

消费页面引用两个样式表:

<link href="/_resources/fonts/FontFace/stylesheet.css" rel="stylesheet" type="text/css" />
<link href="/Admin/_resources/styles/admin_styles.css" rel="stylesheet" type="text/css" />

我相信这不是一个参考问题,因为样式表中的样式正在出现。它似乎只是没有呈现的字体。这也可以在一个本地站点上完美运行,当我将它复制到另一个本地站点时它不起作用。

值得指出的是,它不是“副本” ,我使用Visual Studio 2010 “发布”功能将代码推送到新站点,该功能设置为发布到文件系统位置,并带有“在发布前删除所有现有文件”放。文件系统位置是在IIS 7.5中设置为网站的目录。

谢谢,G

4

1 回答 1

0

所以我发现了问题,这有点愚蠢(对我来说),当 Visual Studio 2010 发布时,默认情况下,带有 EOT、TTF、WOFF 扩展名的文件似乎不包含在推送中。因此,虽然代码已正确发布和引用,但未包含所需的资源文件,因此无法加载字体。我只是复制了丢失的资源,瞧!这一切都再次起作用。

谢谢,G

于 2013-01-28T07:12:58.550 回答