We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
当我们在开发中使用自己的字体的时候,由于字体文件一般都会比较大,所以需要对它们做优化。一般来说有这样几种方法。
页面渲染的过程
1.浏览器请求 HTML 文档。 2.浏览器开始解析 HTML 响应和构建 DOM。 3.浏览器发现 CSS、JS 以及其他资源并分派请求。 4.浏览器在收到所有 CSS 内容后构建 CSSOM,然后将其与 DOM 树合并以构建渲染树。 在渲染树指示需要哪些字体变体在网页上渲染指定文本后,将分派字体请求。 5.浏览器执行布局并将内容绘制到屏幕上。 如果字体尚不可用,浏览器可能不会渲染任何文本像素。 字体可用之后,浏览器将绘制文本像素。
1.浏览器请求 HTML 文档。 2.浏览器开始解析 HTML 响应和构建 DOM。 3.浏览器发现 CSS、JS 以及其他资源并分派请求。 4.浏览器在收到所有 CSS 内容后构建 CSSOM,然后将其与 DOM 树合并以构建渲染树。
5.浏览器执行布局并将内容绘制到屏幕上。
字体的加载会阻塞页面的渲染,因而优化字体挺重要的
当在加载自己的字体时,在最前面声明local(),像这样
@font-face { font-family: 'Awesome Font'; font-style: normal; font-weight: 400; src: local('Awesome Font'), url('/fonts/awesome.woff2') format('woff2'), url('/fonts/awesome.woff') format('woff'), url('/fonts/awesome.ttf') format('truetype'), url('/fonts/awesome.eot') format('embedded-opentype'); }
如果字体文件在本地就不会发起新的请求
用法
@font-face { ..... unicode-range: U+000-5FF; /* Latin glyphs */ }
这个霸道,你可以通过指定unicode-range来指定需要应用字体的范围,曾经在一个活动页面内使用过 ,当时通过检查页面,发现整个项目就用了几个文字,其他全是图片,我就直接写了那几个字符的unicode,字体文件直接从200多kb降到30kb左右,性能测试字体方面直接从F变到了A.
unicode-range
将字体直接放在css文件中,不用发起二次请求,不过css文件会比较大。
参考
The text was updated successfully, but these errors were encountered:
No branches or pull requests
当我们在开发中使用自己的字体的时候,由于字体文件一般都会比较大,所以需要对它们做优化。一般来说有这样几种方法。
页面渲染的过程
字体的加载会阻塞页面的渲染,因而优化字体挺重要的
使用local()
当在加载自己的字体时,在最前面声明local(),像这样
如果字体文件在本地就不会发起新的请求
使用 Unicode-range
用法
这个霸道,你可以通过指定
unicode-range
来指定需要应用字体的范围,曾经在一个活动页面内使用过,当时通过检查页面,发现整个项目就用了几个文字,其他全是图片,我就直接写了那几个字符的unicode,字体文件直接从200多kb降到30kb左右,性能测试字体方面直接从F变到了A.
内联
将字体直接放在css文件中,不用发起二次请求,不过css文件会比较大。
参考
The text was updated successfully, but these errors were encountered: