【问题标题】:@font-face not working on Wordpress site@font-face 在 Wordpress 网站上不起作用
【发布时间】:2015-10-11 03:27:24
【问题描述】:

我正在使用 @font-face 函数在我的 Wordpress 网站上使用自定义字体 (Geosanslight)。

我已经使用http://www.fontsquirrel.com 下载了webkit 并将它们上传到文件夹http://www.lynnepassmore.com/public_html/wp-content/themes/esteem/fonts

然后我在我的自定义 css 文件中使用了 @font-face 函数来调用它们。但是该字体在任何浏览器上均不可见。

这是我的@font-face css:

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

body, h1, h2, h3, h4, h5, h6, p, li, a {
font-family: geosanslight !important;
}

【问题讨论】:

  • 你在哪里添加了@font-face CSS?
  • 嗨,Zaq,你有一个指向你网站的链接,你的字体路径可能是错误的
  • 进入主题选项下的自定义css文件
  • www.lynnepassmore.com
  • 您的样式正在输出到您的index.php 文件,请使用绝对路径指向您的字体文件。

标签: css wordpress fonts font-face custom-font


【解决方案1】:

您的自定义 css 实际上在源代码索引中,因此相对路径不起作用。如下更改字体路径。

@font-face {
font-family: 'geosanslight';
src: url('/wp-content/themes/esteem/fonts/geosanslight-webfont.ttf') format('truetype');
}

body, h1, h2, h3, h4, h5, h6, p, li, a {
font-family: "geosanslight",sans-serif;
}

请确保你的最终css是这样的

@font-face {
font-family: 'geosanslight';
src: url('/wp-content/themes/esteem/fonts/geosanslight-webfont.ttf') format('truetype');
}

body, h1, h2, h3, h4, h5, h6, p, li, a {
font-family: 'geosanslight', sans-serif !important;
}

【讨论】:

  • 做了你提到的改变,但仍然没有改变
  • @ZaqMughal 我已经更新了我的答案,实际上有些 src 丢失了。你现在可以检查一下吗?而且你并不真的需要所有这些格式定义,即使只使用 truetype 或 woff 也应该适用于大多数浏览器
  • 好的,我已经添加了 src 并将逗号更改为 ;它似乎在 safari 上工作,但不在 chrome 上
  • @ZaqMughal 现在尝试答案中的内容,它在检查员中为我工作
  • @ZaqMughal 这是因为缺少跨域标头,加载的 css 样式是 lynnepassmore.com/wp-content/themes/esteem/style.css?ver=4.2.2 但您的网站默认将用户重定向到非 www url。因此,如果您要保留默认站点 url 非 www,请将 css 文件的 url 更改为非 www
【解决方案2】:

检查您的浏览器控制台:

来自“http://www.lynnepassmore.com”的字体已被阻止 通过跨域资源共享策略加载:否 'Access-Control-Allow-Origin' 标头出现在请求的 资源。因此不允许使用原点“http://lynnepassmore.com” 访问。

您正在尝试从不同的域(www 与不带 www)加载字体 - 它被视为远程资源,并被标头策略阻止。

如果您从 css 文件中包含字体,则可以使用相对路径,那么它将相对于您的 css 文件位置。

【讨论】:

  • 好的,我已经完成了这一切,除了在谷歌浏览器上之外,它的所有工作...有什么想法吗?
  • 你应该使用相对路径:./fonts/ 而不是/wp-content/themes/esteem/fonts/
  • 还要注意你的 fontawesome-webfont.ttf 路径是错误的。
  • 那会在谷歌浏览器上正确显示吗?
  • 我不知道你在说什么,因为我的 Firefox 或任何浏览器都没有显示字体。
猜你喜欢
  • 2011-02-12
  • 2015-01-25
  • 2011-10-19
  • 1970-01-01
  • 1970-01-01
  • 2014-05-03
  • 2012-08-19
  • 2023-03-25
  • 2012-01-05
相关资源
最近更新 更多