我正在尝试让自定义字体在我的 WordPress 网站上使用,该网站使用已构建的主题(由 azure 托管)。该主题没有内置选项来更改/添加字体。我正在使用的字体可以在另一个网站上使用。文件格式为 .oft
。我已禁用服务器端缓存。我可以将字体更改为不同的网络安全字体。我已经测试过从不同的计算机和浏览器访问该网站,并且禁用了存储的页面。
“失败”意味着我已将所有字体预设为“sans-serif”,当我尝试其中任何方法时,它会覆盖此备份并使用浏览器默认值。
我认为这意味着 css 中不存在任何我不知道的随机 !important
。
这是我到目前为止所尝试过的。
在我的 css 文件顶部:
@font-face{
font-family:'FontName';
src:url('http://example.com/font.otf') format("opentype");/* tryed with an without format type*/
}
在我的 css 文件底部:
body{
font-family: FontName;
}
- 我尝试将文件类型转换为 5 种最流行的格式,并单独和一起尝试。
- 我尝试从不同的外部服务器访问该字体。
- 我尝试使用
@import
将CSS从工作网站获取到我的并使用创建的字体系列来更改类型。 - 我尝试过访问不同的自定义字体(包括谷歌字体)。这也失败了。
- 我尝试过 3 个独立的 WordPress 插件(包括“使用任何字体”(已在其他元素中使用过)),但都失败了。
经过所有这些尝试后,我什至不知道在哪里继续寻找故障。任何想法,甚至是大方向上的想法都会很有用。
最佳答案
您可能缺少 web.config
中的 MIME 类型(默认情况下,它们不在应用服务或普通 IIS 中):
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<system.webServer>
<staticContent>
<mimeMap fileExtension=".woff" mimeType="application/font-woff" />
<mimeMap fileExtension=".otf" mimeType="font/opentype" />
</staticContent>
</system.webServer>
</configuration>
使用F12→网络进行调试。
您应该获得字体文件的200 OK
。
如果您缺少 MIME 类型,则404 Not Found
。
.otf
显然现在是 application/font-sfnt
。如果 MIME 类型确实是您的问题,请围绕该类型的正确类型进行更多研究。
关于css - WordPress 上的字体,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41382121/