【问题标题】:Web Font Sass Mixin IssueWeb Font Sass Mixin Issue
【发布时间】:2018-10-24 00:56:39
【问题描述】:

我正在尝试使用具有以下扩展名的 sass mixin 导入网络字体,.eot、.woff、.ttf

这里是字体文件的位置。

由于某种原因字体没有呈现?我不确定为什么。

这是我的 SASS 混合:

@mixin font-face($font-family, $file-path) {
    @font-face {
        font-family: $font-family;
        src: url('#{$file-path}.eot');
        src: url('#{$file-path}.woff');
        src: url('#{$file-path}.ttf');
    }
}

用法:@include font-face(Roboto-Regular, '../../assets/fonts/Roboto-Regular');

这是一个创建反应应用程序。我正在使用 sass 和我的组件。

请参阅此处了解文件夹结构,因为编译后的 .css 位于组件文件夹中。

【问题讨论】:

  • 您需要提供来自compiled css 参考的文件路径。可能类似于\assets\fonts\roboto-regular
  • 希望您在变量中使用文件路径。
  • @Prajwal 他正在使用 $file-path 的 sass 变量,在这种情况下,他不需要再次重写整个内容。它没有意义
  • 我会提供更多信息。
  • @Filth 在网络选项卡中,您是否在字体 URL 旁边看到 404

标签: css sass compass-sass


【解决方案1】:

试试@include font-face(Roboto-Regular, '../assets/fonts/Roboto-Regular');

因为“assets”是“components”文件夹的兄弟,生成的“compiled.css”位于“components”文件夹中。

【讨论】:

  • 我试过了,但编译失败...找不到模块:无法解析“../assets/fonts/Roboto-Regular.eot”。我在错误消息中指出它正在尝试在组件文件夹中查找字体?这没有意义吗?在“文档/开发/VOO/voo_web/src/components/Hero”中
  • 好的,我与“组件”/“组件”文件夹混淆了。尝试将字体名称作为字符串传递,即 @include font-face("Roboto-Regular", '../../assets/fonts/Roboto-Regular');
猜你喜欢
  • 2012-04-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-03-14
  • 2011-10-31
  • 2014-07-07
  • 2023-04-02
  • 2017-03-14
相关资源
最近更新 更多