css - 为什么我们应该在字体中包含 ttf、eot、woff、svg...

标签 css fonts font-face webfonts

在 CSS3 font-face 中,包含了多种字体类型,如 ttfeotwoffsvgcff

我们为什么要使用所有这些类型?

如果它们是针对不同浏览器的,为什么它们的数量比主流网络浏览器的数量多?

最佳答案

2019年回答:

仅使用 WOFF2,或者如果您需要传统支持,请使用 WOFF。 Do not use any other format

(svgeot 是死格式,ttfotf 是完整的系统字体,不应该用于网络目的)

2012 年的原始答案:

总之,font-face很老了,只是最近才被超过IE支持。

  • eot 是早于 IE9 的 Internet Explorer 所必需的 - 他们发明了规范,但 eot 是专有解决方案。

  • ttfotf 是普通的旧字体,所以有些人很生气,因为这意味着任何人都可以免费下载许可证昂贵的字体。

  • 时间过去了,SVG 1.1 添加了一个“字体”章节,解释了如何完全使用 SVG 标记来建模字体,并且人们开始使用它。更多的时间过去了,事实证明,与普通字体格式相比,它们绝对糟糕,SVG 2 再次明智地删除了整个章节。

  • 然后,woff 由具有相当多领域知识的人发明,这使得以丢弃对系统安装至关重要的位的方式托管字体成为可能,但与网络无关(让人们担心盗版快乐)并允许内部压缩以更好地满足网络的需求(让用户和主机快乐)。这成为首选格式。

  • 2019 edit 几年后,woff2 起草并被接受,这提高了压缩率,导致文件更小,并且能够加载“分部分”的单一字体,这样支持 20 个脚本的字体可以作为“ block ”存储在磁盘上,浏览器可以根据需要自动“分部分”加载字体,而不需要将整个字体向上传输进一步提升排版体验。

如果您不想支持 IE 8 及更低版本、iOS 4 及更低版本以及 android 4.3 或更早版本,那么您可以只使用 WOFF(以及 WOFF2,一种压缩率更高的 WOFF,适用于支持的最新浏览器它。)

@font-face {
  font-family: 'MyWebFont';
  src:  url('myfont.woff2') format('woff2'),
        url('myfont.woff') format('woff');
}

可以在 http://caniuse.com/woff 查看对 woff 的支持
可以在 http://caniuse.com/woff2 查看对 woff2 的支持

关于css - 为什么我们应该在字体中包含 ttf、eot、woff、svg...,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11002820/

相关文章:

google-chrome - 在检查器中哪里可以看到 chrome 加载的字体文件?

javascript - 在一个文件中加载所有 css 或 javascript 的优势

Python 版本的 AddFontResource()

fonts - FlashDevelop + Haxe-使用嵌入式字体

css - Wkhtmltopdf 中文符号被截断

css - 如果我将 sIFR 切换为 @font-face,我会感觉到页面加载有任何性能提升吗?

css - @font-face 中的格式越多,是否决定了更多的 http 请求?

html - 输入文本框不响应 Bootstrap 列系统

jQuery 内联编辑选择器

firefox - 奇怪的 Firefox 渲染(css 转换)