You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何让网站自定义字体加载更快,避免每次下载完整字体?

提升自定义字体加载速度的实用方案
  • 字体子集化
    只保留网站实际用到的字符(比如英文、数字、常用符号),砍掉生僻字或未使用的语言字符。用字体子集化工具处理后,字体体积能大幅缩减——比如原本几十KB的文件,子集化后可能只剩几KB。

  • 优先使用WOFF2格式
    WOFF2的压缩率比WOFF、TTF高30%左右,且主流浏览器都支持(仅IE不兼容,可留WOFF作为降级方案)。CSS写法参考:

    @font-face {
      font-family: 'CustomFont';
      src: url('custom-font.woff2') format('woff2'),
           url('custom-font.woff') format('woff');
      font-weight: normal;
      font-style: normal;
    }
    
  • 配置长期缓存
    在服务器上给字体文件设置HTTP缓存头,比如Cache-Control: public, max-age=31536000(缓存1年),让浏览器下载一次后就存本地,后续访问不用重复下载。如果需要更新字体,记得修改文件名(比如加版本号custom-font-v2.woff2),避免缓存冲突。

  • 预加载关键字体
    用<link rel="preload">让浏览器提前加载首屏必需的字体,减少渲染等待时间。代码示例:

    <link rel="preload" href="custom-font.woff2" as="font" type="font/woff2" crossorigin>
    

    注意只预加载核心字体,别滥用导致带宽浪费。

  • 设置字体显示策略
    在@font-face里添加font-display: swap,让浏览器先显示系统 fallback 字体,等自定义字体下载完成后再替换,彻底避免页面空白(FOIT)。如果是非关键文本,也可以用font-display: optional(加载失败就用系统字体)或font-display: fallback(短时间等待后降级)。示例:

    @font-face {
      font-family: 'CustomFont';
      src: url('custom-font.woff2') format('woff2');
      font-display: swap;
    }
    
  • 开启服务器端压缩
    给字体文件开启gzip或Brotli压缩(服务器端配置),哪怕WOFF2本身已经压缩,额外的压缩还能进一步减小体积。比如Nginx里可以开启Brotli,并针对字体文件设置更高的压缩级别。

内容的提问来源于stack exchange,提问作者Wes

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.07 03:15:46