【发布时间】:2017-03-24 00:23:00
【问题描述】:
问题:
如果 CSS 文件中有一个很大的字体列表(比如超过 2000 个),浏览器从“大列表”中选择一种字体用于 HTML 块的效率如何? 请忽略字体文件大小、网络延迟、缓存或其他一切。
详情:
我正在开发一个开源项目,以创建一个 CSS 文件,其中包含托管在 fonts.google.com 上的所有字体的字体。原因是为了让字体包含简单和跨项目,即在每个项目中只包含相同的单个 CSS 文件,然后就可以了。
我担心太多字体声明对性能的影响。整体 CSS 文件大小将小于 25KB Gzipped,所以我可以接受。但是会有 1950 多种字体可能会使某些浏览器在现实世界中变慢。
尽管这些字体文件不会被浏览器下载,除非它们真的在 HTML 文档中使用,所以这不是问题。我只关心浏览器在内存中处理这些字体声明以及在 CSS 中有效引用它们的效率。
谁能帮忙?
编辑:
这是我打算使用的 css 文件:https://raw.githubusercontent.com/praisedpk/Local-Google-Fonts/master/google-fonts/webfonts.css
来自 github 仓库:Local Google Fonts
【问题讨论】:
-
呃,不是吗?这不是 CSS 的工作方式 - 这些字体将全部下载,即使网页不使用它们:CSS 引擎将始终下载由 @987654325 指示的字体@ 声明,如果您指定多个来源并且第一个(少数)未能通过清理,则可能多次。除非您基于客户端检测执行某种基于 JavaScript 的选择性加载,否则您只是编写了一个永远不应该使用的疯狂样式表。
-
@Mike'Pomax'Kamermans
-
干杯,我将不得不再次挖掘规范,看看这里的技术要求是什么。
-
我建议在您的问题中添加“缓存”的 SO 标签,因为这似乎是您询问的问题的主要关注点。
标签: css browser fonts cross-browser font-face