字体真棒不在Firefox中工作

fil*_*tea 20 firefox less twitter-bootstrap font-awesome

我正在使用bootstrap,我通过Less添加了字体真棒,覆盖了Glyphicons.图标在Chrome中显示OK但在Firefox中我只看到框.

这就是我的目录的样子

-- Project
  -- js
  -- css
  -- less
  -- font-awesome
    -- css
    -- font
    -- less
Run Code Online (Sandbox Code Playgroud)

我在Project > less > boostrap.less文件中修改的所有内容都是:

@import "sprites.less";

//for this line

@import "../font-awesome/less/font-awesome.less";
Run Code Online (Sandbox Code Playgroud)

正如我在Chrome中说的那样工作正常,但由于某种原因Firefox只显示了盒子.

Dus*_*ell 27

通过CDN(或任何跨域字体请求)的自定义Web字体在Firefox或Internet Explorer中无法正常工作(按照规范正确),尽管它们在基于Webkit的浏览器中工作(不正确).

您可以通过向页面添加标题来解决此问题.

阿帕奇

    <FilesMatch ".(eot|ttf|otf|woff)">
        Header set Access-Control-Allow-Origin "*"
    </FilesMatch>
Run Code Online (Sandbox Code Playgroud)

Nginx的

    if ($filename ~* ^.*?\.(eot)|(ttf)|(woff)$){
        add_header Access-Control-Allow-Origin *;
    }
Run Code Online (Sandbox Code Playgroud)

图片来源:http://davidwalsh.name/cdn-fonts

  • 我不明白 如果从远程CDN加载文件,如何更改Apache中的标头?(我知道OP在本地加载,但你似乎在谈论CDN) (4认同)
  • 设置更简单,更快捷:"<link href ="// maxcdn.bootstrapcdn.com/font-awesome/4.2.0/css/font-awesome.min.css"relue ="stylesheet">"使用方法@ Dustin Brownell它在html项目中无法在本地运行. (2认同)

pre*_*mjg 24

如果您想要一种快速简便的方法来完成Font-awesome的工作,请尝试使用CDNJS.它是免费的,由CloudFlare提供支持.CORS支持开箱即用.

尝试这样的事情:

<link href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/3.2.1/css/font-awesome.min.css" media="all" rel="stylesheet" type="text/css">
Run Code Online (Sandbox Code Playgroud)


Ruy*_*iaz 10

如果您在S3上托管字体,则必须在存储桶上启用CORS.通过AWS管理控制台,编辑存储桶的属性,在"权限"下单击"添加CORS配置".在我的情况下,如果我离开默认配置,它仍然无法正常工作,所以我将其更改为:

<CORSConfiguration>
    <CORSRule>
        <AllowedOrigin>*</AllowedOrigin>
        <AllowedMethod>GET</AllowedMethod>
    </CORSRule>
</CORSConfiguration>
Run Code Online (Sandbox Code Playgroud)


小智 6

我遇到了if语句的问题,因为我没有$ filename变量.

但我确实有类似的结果使用:

location ~ /\.(eot|otf|ttf|woff)$ {
        add_header Access-Control-Allow-Origin *;
    }
Run Code Online (Sandbox Code Playgroud)