首页 web前端 css教程 优化性能的Web字体:最新的状态

优化性能的Web字体:最新的状态

Feb 17, 2025 am 11:28 AM

Optimizing Web Fonts for Performance: the State of the Art

>本文是Siteground合作伙伴关系的贡献。 感谢您支持我们的赞助商。 67%的网站现在使用自定义的Web字体。 但是,这种广泛的采用提出了绩效和用户体验挑战。 本文探讨了Web字体实施中的常见陷阱,并提供解决方案,包括既定的解决方法和未来的标准。

密钥点:

在67%的网站上使用的自定义Web字体,由于其大小和加载时间,可能会对性能和用户体验产生负面影响,可能会导致无形文本(FOIT)。 优化自定义字体涉及使用浏览器兼容格式(优先级WOFF2),仅加载必要的样式和限制字符集的字体最小化字体。

>对抗FOIT,考虑使用系统字体,使用Web字体加载程序进行异步加载或利用CSS字体加载API进行颗粒状控制。
    >
  • > CSS
  • 属性提供高级字体加载管理,尽管浏览器支持仍然不完整。
  • >虽然未风格的文本(fout)可能会持续存在,但可以通过将后备字体指标(x-height and Width)与自定义字体对齐。
  • 自定义Web字体的魅力:
  • >网站访问者优先考虑内容。 因此,出色的排版对于可读性,可读性和品牌标识至关重要。 自定义Web字体(未在用户设备上预安装的字体)登录出色的印刷设计。 尽管CSSfont-display规则已启用了广泛采用,但字体文件的固有大小会影响站点性能。 有效的字体加载至关重要。
  • >
  • 理解隐形文本的闪光
>使用自定义字体的典型方法 - 通过CSS

定义它们并依赖默认浏览器行为 - 是次优的。 浏览器通常会延迟字体加载,直到CSS解析完成。 此外,正如Zach Leatherman的亮点一样,字体下载需要特定条件:> 使用指定的

的HTML元素 @font-face在Webkit和blink浏览器中,该元素不得为空。

对于支持Unicode范围描述符的浏览器,内容必须与指定的范围匹配。

此延迟下载通常会导致FOIT:文本隐形性,直到字体负载为止。 FOIT的浏览器处理各不相同:

    眨眼和Firefox使用三秒钟的超时;如果字体未加载,则会显示一个后备字体,可能导致Fout(未风格的文本闪光)。
  • > Safari,Android的默认浏览器和BlackBerry在字体加载之前不显示文本,使用户留有空白。
  • IE/Edge直接显示后备字体,一种更易于用户友好的方法。
  • >
  • 虽然福特比FOIT的破坏性不大,但理想情况下,应避免两者。 但是,许多专家都认为福特比FOIT更可取。

>优化自定义字体文件:

> 几种策略最小化字体文件大小:

  1. >最小化字体:

    使用少量精心选择的字体。>

  2. >浏览器兼容的格式:优先级WOFF2,倒退到Woff。 示例:
  3. @font-face {
      font-family: 'Open Sans';
      src: local('Open Sans'), local('OpenSans'),
           url('fonts/open-sans.woff2') format('woff2'),
           url('fonts/open-sans.woff') format('woff');
    }
    登录后复制
    >仅加载必要的样式:
  4. 避免加载未使用的字体变化(斜体,粗体等)。
  5. >

    >

    >子集字符集:
  6. 仅包含页面上使用的字符。 (有关详细信息
  7. 地址foit:

  8. 几种方法减轻foit:

避免自定义字体(系统字体后备):一种简单的,尽管在美学上较少令人愉悦,但解决方案是仅依靠系统字体。 示例:

  1. Web字体加载程序:此JavaScript库异步加载字体,显示后备直到自定义字体可用。

    body {
      font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
    }
    登录后复制
  2. >
  3. CSS字体加载API:该标准API可对字体加载进行精细元素的控制,从而可以使用系统字体,直到准备好自定义字体为止。 (有关教程,请参见Manuel Matuzovic的“从CSS字体加载开始”)。

    未来:CSS
  4. >

    > CSS 属性提供了对字体加载和后备行为的颗粒状控制。 值包括

。 虽然浏览器支持仍然有限,但它代表了Web字体加载的未来。> font-display 缓解福特:

font-display当上述方法解决foit时,可能仍会发生fout。 最大程度地减少其影响涉及使用Monica Dinculescu的字体样式匹配器等工具将后备字体的X-Height和Width与自定义字体的尺寸匹配。> autoblock结论: swap fallback有效的Web字体管理需要优化文件大小并控制字体加载行为。 这里讨论的方法以及提供的资源提供了有效的解决方案,以增强网站性能和用户体验。 optional

常见问题(常见问题解答):

>(原始输入的常见问题解答部分已经写得很好,不需要对此重写进行重大修改。)

)原始FAQ部分保留了。

以上是优化性能的Web字体:最新的状态的详细内容。更多信息请关注PHP中文网其他相关文章!

本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

Video Face Swap

Video Face Swap

使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热工具

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

热门话题

Java教程
1655
14
CakePHP 教程
1414
52
Laravel 教程
1307
25
PHP教程
1253
29
C# 教程
1227
24
Google字体可变字体 Google字体可变字体 Apr 09, 2025 am 10:42 AM

我看到Google字体推出了新设计(Tweet)。与上一次大型重新设计相比,这感觉更加迭代。我几乎无法分辨出区别

如何使用HTML,CSS和JavaScript创建动画倒计时计时器 如何使用HTML,CSS和JavaScript创建动画倒计时计时器 Apr 11, 2025 am 11:29 AM

您是否曾经在项目上需要一个倒计时计时器?对于这样的东西,可以自然访问插件,但实际上更多

HTML数据属性指南 HTML数据属性指南 Apr 11, 2025 am 11:50 AM

您想了解的有关HTML,CSS和JavaScript中数据属性的所有信息。

如何通过CSS选择第一个类名为item的子元素? 如何通过CSS选择第一个类名为item的子元素? Apr 05, 2025 pm 11:24 PM

在元素个数不固定的情况下如何通过CSS选择第一个指定类名的子元素在处理HTML结构时,常常会遇到元素个数不�...

为什么Flex布局中的紫色斜线区域会被误认为是'溢出空间”? 为什么Flex布局中的紫色斜线区域会被误认为是'溢出空间”? Apr 05, 2025 pm 05:51 PM

关于Flex布局中紫色斜线区域的疑问在使用Flex布局时,你可能会遇到一些令人困惑的现象,比如在开发者工具(d...

使Sass更快的概念证明 使Sass更快的概念证明 Apr 16, 2025 am 10:38 AM

在一个新项目开始时,Sass汇编发生在眼睛的眨眼中。感觉很棒,尤其是当它与browsersync配对时,它重新加载

在前端开发中,如何使用CSS和JavaScript实现类似Windows 10设置界面的探照灯效果? 在前端开发中,如何使用CSS和JavaScript实现类似Windows 10设置界面的探照灯效果? Apr 05, 2025 pm 10:21 PM

在前端开发中如何实现类似Windows...

我们如何创建一个在SVG中生成格子呢模式的静态站点 我们如何创建一个在SVG中生成格子呢模式的静态站点 Apr 09, 2025 am 11:29 AM

格子呢是一块图案布,通常与苏格兰有关,尤其是他们时尚的苏格兰语。在Tar​​tanify.com上,我们收集了5,000多个格子呢

See all articles