Shopify 页面里 @font-face 重复输出怎么清理
现象#
首页 4 个 section 各输出一段相同的 @font-face,同一 woff2 请求 4 条,内联样式多出 6KB。
原因#
- 每个 section 独立渲染,
font_face写在 section 里就会各输出一遍 - 同一份
@font-face重复声明时浏览器会重新解析,命中率下降并可能重复发请求 - section 被 section group 引用时内外各写一次,声明数量按层级翻倍
font_face没有跨 section 的去重能力,Liquid 不会共享已输出的声明
处理步骤#
- 在页面源码里搜
@font-face,先数清楚出现了几次、分别在哪段 - 把字体声明统一收敛到
layout/theme.liquid的<head>,只保留一处 - 需要按 section 换字体时,用 CSS 变量覆盖
font-family,不要重复声明字形 - 检查 section group 文件,删掉从外层继承来的重复块
- 用 Coverage 面板确认 CSS 未使用字节确实下降
验收标准#
源码中 @font-face 只出现 1 次,同一 woff2 只有一条网络请求,CSS 体积回落。
本文由 风格技术 技术团队整理,适用于 Shopify 标准版与 Plus 店铺。Shopify 平台能力迭代较快,具体操作路径与字段以官方文档和店铺后台实际版本为准。