qt 字体 qss加载字体

This post is a work in progress and will be updated over time. Some techniques are browser-specific and experimental. Thank you for looking!

这篇文章正在进行中,会随着时间的推移而更新。 一些技术是特定于浏览器的并且是实验性的。 感谢您的光临!

It seems as though most websites use non-default fonts these days and who can blame them?  System fonts are all pretty boring and custom fonts add a bit of flare and freshness to a site's design.  The problem with using custom fonts, however, is they can really slow down your site load.  Font files are large, can require separate font files for bold and italic, and can block rendering if the developer doesn't work around them.  Let me show you a strategy for faster font loading!

如今,大多数网站似乎都使用非默认字体,谁能责怪他们呢? 系统字体非常无聊,自定义字体为网站的设计增添了耀眼的色彩和新鲜感。 但是,使用自定义字体的问题在于它们确实会减慢您的网站负载。 字体文件很大,可能需要单独的字体文件以粗体和斜体显示,并且如果开发人员无法解决这些问题,则可能会阻止渲染。 让我向您展示加快字体加载速度的策略!

1.将字体放在CDN上 (1. Put Fonts on CDN)

One simple solution for improving site speed is using a CDN, and that's no different for fonts.  It's important to ensure the CDN has proper CORS settings, as I discussed in Service Fonts from CDN:

一种提高站点速度的简单解决方案是使用CDN,字体也不例外。 正如我在CDN的服务字体中所讨论的那样,确保CDN具有正确的CORS设置非常重要:


# Apache config
<FilesMatch ".(eot|ttf|otf|woff)">
Header set Access-Control-Allow-Origin "*"
</FilesMatch>
# nginx config
if ($filename ~* ^.*?\.(eot)|(ttf)|(woff)$){
add_header Access-Control-Allow-Origin *;
}

You'll see AJAX / cross-domain errors in the console if the CDN's CORS settings are not properly configured.

如果未正确配置CDN的CORS设置,您将在控制台中看到AJAX /跨域错误。

2.使用非阻塞CSS加载 (2.  Use Non-Blocking CSS Loading)

My Mozilla colleague Stephanie Hobson shared Loading CSS without blocking render with me, which outlines a strategy for preventing CSS loading from blocking render.  It's actually genius:

我的Mozilla同事Stephanie Hobson与我分享了“在不阻止渲染的情况下加载CSS” ,其中概述了防止CSS加载阻止渲染的策略。 实际上是天才:


<link rel="stylesheet" type="text/css" href="fonts.css" media="none" onload="this.media='all';">
<link rel="stylesheet" type="text/css" href="style.css" media="none" onload="this.media='all';">

Essentially using media=none let's the browser download the stylesheet without blocking rendering, so when the stylesheet has loaded, setting the media to its desired setting will then render the screen as it should.  Nice!

实质上,使用media=none让浏览器下载样式表而不阻止渲染,因此,在加载样式表后,将media设置为所需的设置即可按需渲染屏幕。 真好!

Note: I've had a few issues with this technique within Firefox but I've not yet figured out the exact reasoning for it, as sometimes no issue occurs. Read Keith Clark's post for precise details and support.

注意:我在Firefox中使用此技术遇到了一些问题,但是由于有时没有问题,因此我还没有弄清楚它的确切原因。 阅读Keith Clark的帖子以获取准确的详细信息和支持。

3.单独的字体选择器 (3.  Separate Font Selectors)

If a font hasn't loaded by the time it's used, the user will see (nothing, kind of) empty space until the font has loaded.  This is, of course, not good if the fonts fail to load.  At the very least, the user will be burdened with staring at empty space for a few seconds.  What's best is keeping custom font declarations protected with a class that is added to the body after the fonts have loaded:

如果字体在使用时尚未加载,则用户将看到(什么也没有)空白,直到字体加载完毕。 如果字体无法加载,这当然不是很好。 至少,用户会被盯着空的空间持续几秒钟。 最好的办法是使用在字体加载后添加到正文中的类来保护自定义字体声明:


h1 { font-family: Arial, serif; } /* basic system font */
.fontsloaded h1 { font-family:  'MySpecialFont', serif; } /* custom system font */


<link href="fonts.css" onload="document.body.className+=' fontsloaded';" rel="stylesheet" type="text/css" >

By using the font declaration strategy above, a system font is loaded initially and only after the custom font is loaded will it be enabled, thus the screen wont show empty content for any period of time.  I recommend creating a Stylus/Sass/Less mixin to set the font-family settings so that the custom selector is automatically set.

通过使用上面的字体声明策略,系统会首先加载系统字体,并且只有在加载自定义字体后才会启用它,因此屏幕在任何时间段内都不会显示空白内容。 我建议创建一个Stylus / Sass / Less mixin来设置font-family设置,以便自动设置自定义选择器。

Scott Jehl describes that font load events are much more effective in his post Font Loading Revisited with Font Events. Please read it!

Scott Jehl在他的“通过Font Events重访字体加载”一书中描述了字体加载事件更有效。 请阅读!

4.将字体存储在localStorage中 (4. Storing Fonts in localStorage)

Did you know you can store fonts in localStorage?! Crazy, right?! Check out this post which details the process and even provides the code to do it!

您知道可以将字体存储在localStorage吗? 疯狂吧? 查看这篇文章 ,其中详细介绍了该过程,甚至提供了执行该过程的代码!

Speed kills on the web and the strategies provided above will supercharge your custom font loading and CSS speed.  The solutions are all easy to implement, you just need to take the time!

网络上的速度杀手,上面提供的策略将增强自定义字体加载和CSS速度。 解决方案都很容易实现,您只需要花些时间!

翻译自: https://davidwalsh.name/font-loading

qt 字体 qss加载字体


http://www.taodudu.cc/news/show-1935437.html

相关文章:

  • CSS字体样式属性
  • 爬虫技术-字体反爬
  • 网站特殊字体处理
  • 常规英文字体 电商_最强电商美工逆袭系列1——最全的电商字体应用详解
  • PPT制作:字体
  • 字体 整理
  • android界面设计中用的字体,APP界面设计必备!最全UI设计字体规范
  • 字体的样式设置和字体分类
  • 计算机中的字体文件夹在哪,字体文件夹,教您怎么找字体文件夹
  • html 好看的英文字体,23款网页设计师必备:经典私藏英文字体
  • 字体大宝库:40款为网页设计师准备的时尚字体【上篇】
  • 字体大宝库:40套为网页设计师准备的时尚字体(下篇)
  • android ui设计最新字体,UI设计常用字体规范
  • 4款时尚优雅宋体Logo字体(可免费商用)
  • android设计常用字体,界面设计必备!全方位科普常用的字体规范
  • android设计字体规范,设计必备:字体使用规范
  • 计算机字体原理,字体科普文:认识最基础的字体结构 -电脑资料
  • php 字体设计,时尚前沿:15个创意的3D字体设计艺术作品欣赏
  • 复旦大学网络认证linux,复旦大学校园网有线上网认证流程
  • Linux下用客户端连接校园网
  • 【华南理工大学】PC客户端配置-如何在家连接学校的校园网
  • 吉林大学校园网linux客户端,吉林大学校园网认证客户端 v5.2.1 pc版
  • 802.1x客户端 linux,Gentoo Linux--校园网(802.1x)拨号认证客户端解决方案
  • 学校网络认证服务器无响应,校园网常见问题
  • 校园网编写linux网络认证,个人心得:校园网linux锐捷认证ruijie(xrgsu)使用及xrgsu下载...
  • 校园网客户端没有linux版,Linux版校园网客户端公测中(已添加GUI输入窗口)njit-clent...
  • python3扬州大学校园网认证登录与下线
  • Linux电脑弹出网络认证,linux局域网Dr.COM宽带认证客户端上网指南
  • 福建工程学院linux锐捷认证,scau校园网认证
  • linux安装Drcom客户端,Ubuntu 10.10校园网安装宽带认证客户端Drcom联网

qt 字体 qss加载字体_字体加载技术相关推荐

  1. mysql 预加载缓存_预加载与缓存

    最近的项目中为了能够提升那么一丢丢性能,尝试了一下对 chunks 进行预加载处理.虽然做了异步加载的处理,但是项目大小决定了还是有多个异步的 chunk.js 需要进行预加载,这里我指的是 prel ...

  2. h5首页加载慢_页面加载速度缓慢时,如何优化?

    提高页面加载速度,优化方法: 1.使用免费 cdn 加载第三方资源 2.合并压缩js,css,减少请求次数以及减少流量的消耗 3.代码优化: HTML头部的JavaScript和写在HTML标签中的S ...

  3. 一加7充电_一加7tPro支持无线充电吗 手机快充技术介绍

    一加7tPro是近期发布的一款热门手机,配备全新快充技术,在此前发布的一加旗舰机中,都没有配备无线充电技术,那么一加7tPro支持无线充电吗?下面来看详细介绍. 一加7tPro不支持无线充电,手机电池 ...

  4. 一加7充电_一加7T Pro发布日期已经确认,2K真全面屏+无线充电,价格感人

    一加是真正的小众品牌,在激烈竞争中不但没有被淘汰,反而活得越来越好.一加7 Pro是上半年最大的黑马,刘作虎的能力就连段永平都极为赞赏. 一加7 Pro能够成功靠的是对用户需求的准确把握,当时华为P3 ...

  5. springmvc 加载 慢_怎么加载spring框架这么慢是不是配置…-就业班

    九月 28, 2019 1:53:33 上午 org.apache.catalina.startup.VersionLoggerListener log 信息: Server version:    ...

  6. 文档加载状态_我们如何确定技术文档的状态?

    文档加载状态 GitHub最近的一项调查中,超过90%的受访者表示,开源项目的主要问题之一是文档不完整或令人困惑. 我们该如何解决? GitHub用户认为文档质量差是#opensource项目的主要问 ...

  7. html载入3d模型,three.js加载三维模型_郭隆邦技术博客

    stl三维模型 基本所有的三维软件都支持导出.stl格式三维模型,stl三维模型不包含材质信息,你可以简单地把stl文件理解为几何体对象Geometry,本节课素材box.STL是一个立方体, 用记事 ...

  8. htmlimg图片加载失败_动态加载图片失败的默认图显示

    经常碰到这类场景,动态加载图片时,因为一些原因(图片链接不存在啊,图片误删啊,图片路径不对或图片路径为空等等)导致真实图片显示不出来.那么为了提高用户体验,都会显示一个默认图. 动态加载图片失败时,显 ...

  9. ntleas加载失败_模块加载失败,请确保二进制存储在指定的路径中,或者调试它以检查该二进制或相关的...

    展开全部 开始复-运行-msconfig-启动-把制加载项.dll的那个勾勾2113去掉. 重启5261电脑,通常到这就可4102以了. 1.这种原因是1653因为,杀毒软件删除或隔离了相关dll使用 ...

  10. java图片加气泡文字_图片加气泡文字

    现在微信聊天少不了表情图片,这越有个性.独特的就越受大众喜爱,每每看到好看的图片时,大家也会忍不住收藏起来用.那你有没有想过自己P图呢?学一下PS图片创作一些独一无二的搞笑表情图,放在微信上秀秀吧,也 ...

最新文章

  1. Hinton等大牛要来中国授课,首个AI人才国际培养计划在北大启动
  2. 那些学校计算机招不满,那些招不满人的985院校,请留意!
  3. Vue 组件库 HeyUI@1.16.0 更新日志
  4. python数据结构与算法之list
  5. 线程同步的各种方法汇总
  6. centos6.5 scala环境变量
  7. mysql 查询语句执行顺序_MySQL 查询语句执行过程
  8. 2.Cocos2d-x-3.2编写3d打飞机,项目代码总结
  9. echart中拆线点的偏移_Qt中圆弧和扇形的绘制
  10. 关键词分词工具_快图制作工具 | 如何制作词云图?
  11. 数据结构与算法:企业级链表实现(超详细)
  12. Bounce(弹走绵羊)lct裸题
  13. “双十一”背后,阿里的技术到底有多“牛”?
  14. 案例 -- web移动端项目(vue)
  15. 用 Alan 和 Neovis.js 实现全新的 Doctor.ai
  16. 人工神经网络——神经元模型介绍
  17. 网易邮箱发送显示服务器出错,网易邮件发送不出去的错误代码详解 (MI:SFQ错误等)...
  18. linux渗透后清除日志,后渗透阶段清理痕迹方式总结
  19. highCharts x轴过长
  20. 复权、前复权和后复权

热门文章

  1. c语言计算题怎么输出答案,C语言练习题答案
  2. Floyd算法(matlab实现)
  3. MFC学习心得第一篇
  4. java常用数据结构有哪些
  5. python爬图代码实例_python爬虫爬取图片简单代码示例
  6. 使用AJAX实现上传文件
  7. Xshell、Xftp 正版资源
  8. Java网络编程学习汇总
  9. Java思维导图(3)
  10. 运动会管理系统(JAVA,JSP,SERVLET,SQLSERVER)