最佳答案
自从使用 卡丰带来麻烦之后,我开始尝试不使用外部字体资源,但最近,我一直在寻找加载字体的替代方法,看看是否有更好的方法; 更好的方法有一种突然出现的方法。
现在有很多新的方法,每种方法似乎都有变化; 我应该使用 打字机吗?还是 谷歌字体(带 js 或 css) ?我应否继续使用本地载入字体(例如 fontsquirrel.com 生成方法) ?
我将在下面列出一些看起来最受欢迎的方法,并进行一些测试,但是真的值得改用 webfont 吗?它似乎会承载较高的资源负载(http 请求)和较少的文件格式类型(较少的兼容性)等。但在大多数情况下,文件似乎是异步加载的,而且效率很高。
我真的在这里寻找最佳实践,性能是一件大事,但是可伸缩性和易用性也很重要。更不用说,看和感觉。
@import
或 <link>
,或者获取样式表(@font-face
)的内容,并将其直接放入您自己的样式表中。测试结果
78ms load of html 36ms load of css
webfont.js
加载样式表:root
元素测试结果
171ms load of html 176ms load of js 32ms load of css
:root
元素。*.js
片段或外部加载的文件 *.js
文件data:font/opentype
代替字体文件。将外部样式表添加到头部
你可以在 typekit.com 上轻松地添加/删除/调整字体和目标选择器
测试结果
169ms load of html 213ms load of js 31ms load of css 3ms load of data:font/
@font-face{
font-weight:400;
font-style:normal;
font-family:open_sanslight;
src:url(../font/opensans-light-webfont.eot);
src:url(../font/opensans-light-webfont.eot?#iefix) format(embedded-opentype),
url(../font/opensans-light-webfont.woff) format(woff),
url(../font/opensans-light-webfont.ttf) format(truetype),
url(../font/opensans-light-webfont.svg#open_sanslight) format(svg)
}
帮助; 或与数据: 字体方法 & 帮助;
@font-face {
font-family: 'open_sanslight';
src: url('opensans-light-webfont-f.eot');
}
@font-face {
font-family: 'open_sanslight';
src: url(data:application/x-font-woff;charset=utf-8;base64,d09GRgABAAAAAF4sABMAAAAArXQAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAABGRlRNAAABqAAAABwAAAAcZLn0KkqwK44Jq866WBSpzpsNY2IyGAhoJFBbYjuxmyns5sNa4NwldcJ7eh3Uy5gQkURIlqWzONe3HcLsDX1x/+jifDXvbzgTBjopZElndil3hJkERJkmRJkVRJk3TJkEzJkmzOc4HLXOEOF7nEX/*thisisnotafullencodingjustanexample*/bZwUnK4yS3JlTx2Sr4USKEUSbHVX9fcGNBs4fqgw+GoNHU7lKr36Eqn0lCWt6pHFpWaUlc6lS6loSxRlirLlP/uuU01dVfT7L6gPxyqraluCpgj3WtqeC1V4VBDW2N4K1r1esw/IupKp9L1FwlqnuIAAAB42j3NvQ7BUBjG8R5tTz/0u2UjNTTESYQbMGmXLiISbeI6zBYjbuWtye7CeMJxtuf3LP8ne1+IXbWa7G3TMXZru4qLZkJRW1O2wzi3I+Li2Gik5yXpYkNGXj70YU98YQLGHxwwXxIWwO8SNmAdJBzAXku4gFNI9AF38QMjTwZ9vN6yJzq9OoEB6I8VQzDYK0ZguFKMwWiumIDxTDEFk6liBqaF4gDMFFvKxAfOxFUGAAABUxSL9gAA) format('woff'),
url('opensans-light-webfont-f.ttf') format('truetype'),
url('opensans-light-webfont-f.svg#open_sanslight') format('svg');
font-weight: normal;
font-style: normal;
}