【问题标题】:@font-face CSS paths with WordPress带有 WordPress 的 @font-face CSS 路径
【发布时间】:2012-03-03 08:31:29
【问题描述】:

使用 FontSquirrel 生成的 CSS 代码制作了一个静态版本的网站。 “css”文件夹中的 CSS 样式表,“fonts”文件夹中的字体。显示 @font-face 相对路径的 CSS 示例块:

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

调用后一切正常

font-family: 'TitilliumText22LRegular', Verdana, sans-serif;

现在是 WordPress 模板时间。 WP 使用模板根样式表(“style.css”)。所以从逻辑上讲,如果我将字体存储在“fonts”文件夹中并去掉“../”路径备份,我应该没问题,因为 WP 样式表位于根目录,并且其中的所有内容都应该引用到它的自己的位置:

    src: url('fonts/TitilliumText22L003-webfont.eot');

但这不起作用。备用字体系列和其他字体样式规则工作正常。 WP 样式表对引用模板根目录下“img”文件夹中图像的类似 CSS 路径结构没有任何问题。奇怪的是,如果我将字体文件本身向上移动到模板根目录并直接在样式表中引用它们,如下所示:

    src: url('TitilliumText22L003-webfont.eot');

一切正常。当然,虽然我不想在模板根目录中转储 40 多个字体文件。可能 WP 需要一些单独的 PHP 文件/规则,为此使用 URL 路径技巧,比如 blog_info('template_url') 或类似的。但我希望我错过了一些明显的东西!

感谢您的任何想法

【问题讨论】:

  • 有些浏览器只支持选择字体扩展,你是不是把所有的CSS目录都改成fonts/
  • 谢谢,是的,我做到了。 FontSquirrel 代码之前没有遇到过问题,因为这就是它应该擅长的。但事实证明这是一个(呃,头疼的)许可问题。

标签: php css wordpress font-face


【解决方案1】:

在主题目录(与style.css 相同级别)添加单独的font-face 文件夹,其中包含字体和font-face css(在我的示例中命名为fonts.css

也去掉字体名称的all前缀(没有..//)。

在您要添加的header.php 文件中:

<link rel="stylesheet" type="text/css" href="<?php echo bloginfo( 'stylesheet_directory' ); ?>/font-face/fonts.css" />

无论如何都适合我的主题。

【讨论】:

  • 喜欢你的想法,但对我不起作用。然后我的大脑痉挛并检查了许可。显然,WP 无法访问该文件夹(这只是解压缩的 FontSquirrel 目录)。一旦它被修复,它工作得很好。我对你的组织想法表示赞同,无论如何它更整洁。现在工作正常。
  • 我讨厌他们,尤其是当他们花费你大量时间的潜在生产力时:(
猜你喜欢
  • 2017-07-18
  • 2013-08-12
  • 1970-01-01
  • 2011-11-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-03-27
相关资源
最近更新 更多