浏览器不会请求字体文件

时间:2013-11-10 22:20:33

标签: css twitter-bootstrap fonts font-face font-awesome

我在使用font-awesome时遇到了一个非常奇怪的问题。

长话短说:浏览器忽略了@ font-face的'src'部分而没有对实际字体发出任何请求。

//font-awesome.css excerpt

@font-face {
    font-family: 'FontAwesome';
    src: url('/Content/fonts/fontawesome-webfont.eot?v=4.0.3');
    src: url('/Content/fonts/fontawesome-webfont.eot?#iefix&v=4.0.3') format('embedded-opentype'), url('/Content/fonts/fontawesome-webfont.woff?v=4.0.3') format('woff'), url('/Content/fonts/fontawesome-webfont.ttf?v=4.0.3') format('truetype'), url('/Content/fonts/fontawesome-webfont.svg?v=4.0.3#fontawesomeregular') format('svg');
    font-weight: normal;
    font-style: normal;
}
  • 所有软件和库都是最新的稳定版本。
  • 控制台没有错误。
  • 直接请求时,可以完美下载字体文件
  • 在Chrome,FireFox和IE
  • 中测试过
  • 另一个使用以前主要版本的bootstrap和font-awesome的项目很好用

http://jsfiddle.net/c2zUh

3 个答案:

答案 0 :(得分:9)

您的HTML未引用图标的基类(设置字体)。您需要包含基类,然后包含图标,即

<span class="glyphicon glyphicon-asterisk"></span> 

不是

<span class="glyphicon-asterisk"></span>

<i class="fa fa-group"></i>

不是

<i class="fa-group"></i>

你还需要glyphicon和fa类

并且作为注释,如果您不使用实际应用于元素的样式规则中的字体(@ font-face不计算),则不会请求它。因此,除非元素具有glyphicon或fa类,否则将不会下载相关的字体文件。我必须承认,这对我来说是新闻。

答案 1 :(得分:0)

尝试在IIS中打开您的网站,然后转到“属性”&gt; HTTP标头&gt; MIME类型。对于以下各项,请添加新的MIME类型:

扩展名:.otf

MIME类型:font / otf

-

扩展名:.svg

MIME类型:image / svg + xml

-

扩展名:.woff

MIME类型:application / x-font-woff

让我知道这是否会造成一点点差异!

答案 2 :(得分:0)

您还可以尝试以woff格式嵌入字体 - 就在base64中的.css文件中。 它在所有浏览器和IE 9 +

中都能很好地运行

此外,可能是方案,系统中已安装此字体的内容,以防止下载......