CSS @font-face 规则允许您向网站添加自定义字体。然而,在这种情况下,该规则在 Chrome 和 Internet Explorer 中完美运行,但在 Firefox 中却不起作用。
Firefox 强制执行严格的“文件 uri 来源”(文件:/ //) 默认策略。如果您使用 file:/// 协议在本地运行您的网站,Firefox 将不允许跨域字体访问。
要解决此问题,请使用 http:// 协议加载您的网站或禁用以下 Firefox 偏好设置:
security.fileuri.strict_origin_policy
如果您是部署站点后遇到此问题,可能是您的浏览器将相对字体路径解释为跨域请求。为了防止这种情况,请将以下标头添加到您的 .htaccess 文件中:
<FilesMatch "\.(ttf|otf|eot)$"> <IfModule mod_headers.c> Header set Access-Control-Allow-Origin "*" </IfModule> </FilesMatch>
这指示服务器随每个字体文件请求发送附加标头,从而允许从任何域进行访问。
如果上述步骤不能解决问题,请考虑对您的字体使用 Base64 编码。虽然这不是理想的解决方案,但它可能是最后的手段。
以上是为什么我的 @font-face 在 Firefox 中不起作用,但在 Chrome 和 IE 中起作用?的详细内容。更多信息请关注PHP中文网其他相关文章!