在Shopify液体中使用@ font-face时的字体文件404

Sil*_*gns 8 css liquid font-face shopify

我查看了我在这里和Shopify论坛上发现的所有帖子并尝试了一些不同的东西,但遗憾的是无法解决我的问题.我正在Shopify开发商店使用Shopify主题编辑器应用程序和Sublime文本进行开发.

在我的Shopify主题中,我在styles.css.liquid文件中使用@ font-face来加载自定义字体:

@font-face {
    font-family: 'gotham-book';
    src: url(' {{ 'gotham-book-webfont.eot' | asset_url }} ');
    src: url(' {{ 'gotham-book-webfont.eot?#iefix' | asset_url }} ') format('embedded-opentype'),
    url(' {{ 'gotham-book-webfont.woff2' | asset_url }} ') format('woff2'),
    url(' {{ 'gotham-book-webfont.woff' | asset_url }} ') format('woff'),
    url(' {{ 'gotham-book-webfont.ttf' | asset_url }} ') format('truetype'),
    url(' {{ 'gotham-book-webfont.svg#gothambook' | asset_url }} ') format('svg');
    font-weight: normal;
    font-style: normal;
}
Run Code Online (Sandbox Code Playgroud)

我在主题的'assets'文件夹中列出了所有列出的字体文件,文件名和扩展名都正确.

我正在使用font-family加载所需的字体,仍然在styles.css.liquid中,例如:

.some-element {
    font-family: 'gotham-book', Helvetica, Arial, sans-serif;
}
Run Code Online (Sandbox Code Playgroud)

问题是,当我加载页面时,没有加载字体.当我在Chrome开发工具中检查页面时,它向我显示正在查找字体文件但未找到,例如:

GET http://cdn.shopify.com/s/files/1/0924/9286/t/3/assets/gotham-book-webfont.ttf?13846384044068149085 404 (Not Found)
Run Code Online (Sandbox Code Playgroud)

字体文件在本地页面上正常加载,据我所知,我的asset_url标签格式正确,字体文件应该在哪里,所以生成的文件路径应该是正确的,但似乎不是是.如果有人能够对此有所了解,我将永远感激不尽!干杯!

Sil*_*gns 7

经过2天的撕裂,我听到了这一点,最终修复它的是改变字体的文件名并从中删除所有连字符.所以@ font-face css会改变:

@font-face {
    font-family: 'gotham-book';
    src: url(' {{ 'gotham-book-webfont.eot' | asset_url }} ');
    src: url(' {{ 'gotham-book-webfont.eot?#iefix' | asset_url }} ')     format('embedded-opentype'),
    url(' {{ 'gotham-book-webfont.woff2' | asset_url }} ') format('woff2'),
    url(' {{ 'gotham-book-webfont.woff' | asset_url }} ') format('woff'),
    url(' {{ 'gotham-book-webfont.ttf' | asset_url }} ') format('truetype'),
    url(' {{ 'gotham-book-webfont.svg#gothambook' | asset_url }} ') format('svg');
    font-weight: normal;
    font-style: normal;
}
Run Code Online (Sandbox Code Playgroud)

对此:

@font-face {
    font-family: 'gothambook';
    src: url(' {{ 'gothambook.eot' | asset_url }} ');
    src: url(' {{ 'gothambook.eot?#iefix' | asset_url }} ') format('embedded-opentype'),
    url(' {{ 'gothambook.woff2' | asset_url }} ') format('woff2'),
    url(' {{ 'gothambook.woff' | asset_url }} ') format('woff'),
    url(' {{ 'gothambook.ttf' | asset_url }} ') format('truetype'),
    url(' {{ 'gothambook.svg#gothambook' | asset_url }} ') format('svg');
    font-weight: normal;
    font-style: normal;
}
Run Code Online (Sandbox Code Playgroud)

一旦我对Shopify主题资源文件夹中的字体文件和styles.scss.liquid文件进行了这些更改,字体开始加载并按原样显示.

我不记得在Shopify文档中有关资产文件命名约定的任何地方阅读任何内容,所以希望这可以在将来节省一些时间!

  • 感谢您回答您自己的问题。为我节省了很多时间。对我来说,我的字体名称中有连字符和大写字母,两者都是导致问题的原因。我还想补充一点,我在这方面遇到了额外的困难,因为 shopify 无法将东西从 caps 重命名为 nocaps(从 ABCdef.ttf 重命名为 abcdef.ttf),而 Mac 的“shopify 主题”应用程序没有给你任何关于重命名不成功的反馈。以防万一其他人偶然发现了这一点。再次感谢 SilentDesigns (2认同)